IntSummaryStatistics statistics = numbers.stream().collect(Collectors.summarizingInt((p) -> p + 3)); System.out.println("statistics = " + statistics); // print statistics = IntSummaryStatistics{count=4, sum=22, min=4, average=5.500000, max=7} long sumEven = numbers.stream().collect(Collectors.summarizingInt((p) -> p % 2 == 0 ? p : 0)).getSum(); System.out.println("sumEven = " + sumEven); // print sumEven = 6
default IntSummaryStatistics intStats(ToIntFunction<T> fn){ return stream().collect(Collectors.summarizingInt(fn)); } default DoubleSummaryStatistics doubleStats(ToDoubleFunction<T> fn){
private static void test4(List<Person> persons) { IntSummaryStatistics ageSummary = persons .stream() .collect(Collectors.summarizingInt(p -> p.age)); System.out.println(ageSummary); // IntSummaryStatistics{count=4, sum=76, min=12, average=19,000000, max=23} }
protected String getIntegerColumnSummary(TableModel model, int columnModel) { List<Integer> values = new LinkedList<>(); for (int row = 0; row < model.getRowCount(); row++) { values.add((Integer) model.getValueAt(row, columnModel)); } IntSummaryStatistics statistics = values.stream() .collect(Collectors.summarizingInt(Integer::intValue)); return getSummary("integer", new SummaryStatistics(statistics)); }
.collect(Collectors.summarizingInt(Person::getAge));
default IntSummaryStatistics intStats(ToIntFunction<T> fn){ return stream().collect(Collectors.summarizingInt(fn)); } default DoubleSummaryStatistics doubleStats(ToDoubleFunction<T> fn){
System.out.println(students.stream().collect(averagingInt(Student::getScore))); System.out.println(students.stream().collect(summingInt(Student::getScore))); IntSummaryStatistics intSummaryStatistics = students.stream().collect(summarizingInt(Student::getScore)); System.out.println(intSummaryStatistics); System.out.println("------------");
.map(Person::getAge).collect(Collectors.summarizingInt(t -> t)); System.out.println(summaryStats);
.collect(groupingBy(GHObject::getId, summarizingInt(GHRepository.Contributor::getContributions)));
private void verifyEvents(final List<EventRead<Integer>> events, int startInclusive, int endExclusive) { Supplier<java.util.stream.Stream<Integer>> streamSupplier = () -> events.stream().map(EventRead::getEvent).sorted(); IntSummaryStatistics stats = streamSupplier.get().collect(Collectors.summarizingInt(value -> value)); assertTrue(String.format("Check for first event: %d, %d", stats.getMin(), startInclusive), stats.getMin() == startInclusive); assertTrue(String.format("Check for last event: %d, %d", stats.getMax(), endExclusive), stats.getMax() == endExclusive - 1); //Check for missing events assertEquals(String.format("Check for number of events: %d, %d, %d", endExclusive, startInclusive, stats.getCount()), endExclusive - startInclusive, stats.getCount()); assertEquals(String.format("Check for duplicate events: %d, %d, %d", endExclusive, startInclusive, streamSupplier.get().distinct().count()), endExclusive - startInclusive, streamSupplier.get().distinct().count()); }
public void testObjCollectorIntStatistics() { Cache<Integer, String> cache = getCache(0); int range = 10; // First populate the cache with a bunch of values IntStream.range(0, range).boxed().forEach(i -> cache.put(i, i + "-value")); assertEquals(range, cache.size()); CacheSet<Map.Entry<Integer, String>> entrySet = cache.entrySet(); IntSummaryStatistics stats = createStream(entrySet).collect( () -> Collectors.summarizingInt(Map.Entry::getKey)); assertEquals(10, stats.getCount()); assertEquals(4.5, stats.getAverage()); assertEquals(0, stats.getMin()); assertEquals(9, stats.getMax()); assertEquals(45, stats.getSum()); }