25 Mart 2018 Pazar

IntSummaryStatistics Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.util.IntSummaryStatistics;
Sayma (count) ve ortalama alma (average) gibi işlemleri int değerler için aynı anda yapar.

constructor
Şöyle yaparız.
List<Integer> nums = Arrays.asList(1,2,3);
IntSummaryStatistics stats2 = nums.stream().collect(Collectors.summarizingInt(x->x));`

System.out.println(stats2);
accept metodu
Yeni bir sayı ekler
Örnek
Şöyle yaparız
IntSummaryStatistics data = new IntSummaryStatistics();
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
Iterator<Integer> iter = nums.listIterator();

while (iter.hasNext()){
  data.accept(iter.next());
}

System.out.println("Average: " + data.getAverage());
System.out.println("Count: " + data.getCount());
/*
Output:
Average: 5.5
Count: 10
*/
getCount metodu
Örnek
Şöyle yaparız
List<Integer> integers = Arrays.asList(1,2,3,4,5,6,6);
IntSummaryStatistics stats = integers
          .stream()
          .collect(Collectors.summarizingInt(x -> x ));
//output: IntSummaryStatistics{count=7, sum=27, min=1, average=3.857143, max=6}

getAverage metodu
Örnek ver

getMin metodu
Şöyle yaparız.
// Get user input.
List<Integer> numbers = ...;

// Transform input to statistics.
IntSummaryStatistics stats = numbers.stream()
  .collect(Collectors.summarizingInt(Integer.intValue()));

// Print statistics.
String jointNumbers = numbers.stream()
  .collect(Collectors.joining(", "));
System.out.printf("You entered %d numbers: %s\n, stats.getCount(), jointNumbers);
System.out.println("Min: " + stats.getMin());
System.out.println("Max: " + stats.getMax());
System.out.println("Sum: " + stats.getSum());
System.out.println("Avg: " + stats.getAverage());
getMax metodu
Örnek ver

getSum metodu
Şöyle yaparız.
IntSummaryStatistics stats = Arrays.asList(1,2,3,4)
    .stream()
    .mapToInt(Integer::intValue)
    .summaryStatistics();

stats.getSum();
stats.getCount();
stats.getAverage();

Hiç yorum yok:

Yorum Gönder