public static void main(String[] args) { Map<Integer, HashSet<String>> withSet = Stream.of("jon", "andrew", "harvey", "bil") .collect(Collectors.groupingBy(String::length, HashSet::new)); out.println(withSet); }
@Override public void setTypeVariables(List<TypeVariable> typeVariables) { declaration.setTypeParameters( typeVariables .stream() .map(getContext()::unresolveTypeVariable) .collect(Collectors.toList())); }
@Override public List<TypeVariable> getTypeVariables() { return declaration .getTypeParameters() .stream() .map(getContext()::resolveTypeVariable) .collect(Collectors.toList()); }
@Override public List<Type> getInterfaceTypes() { return type.get() .getImplements() .stream() .map(getContext()::resolve) .collect(Collectors.toList()); }
@Override public List<Parameter> getParameters() { return declaration .getParameters() .stream() .map( (parameter) -> new Parameter( getContext().resolve(parameter.getType()), parameter.getId().getName())) .collect(Collectors.toList()); }
public static void main(String[] args) { // how many sales? long saleCount = saleStream().count(); System.out.println("Count of sales: " + saleCount); // any sales over $100? Supplier<DoubleStream> totalStream = () -> saleStream().mapToDouble(Sale::total); boolean bigSaleDay = totalStream.get().anyMatch(total -> total > 100.00); System.out.println("Big sale day? " + bigSaleDay); // maximum sale amount? DoubleSummaryStatistics stats = totalStream.get().summaryStatistics(); System.out.println("Max sale amount: " + stats.getMax()); System.out.println("Stats on total: " + stats); // how many items were sold today? Supplier<Stream<Item>> itemStream = () -> saleStream().flatMap(sale -> sale.items.stream()); long itemCount = itemStream.get().count(); System.out.println("Count of items: " + itemCount); // which different items were sold today? String uniqueItems = itemStream.get().map(item -> item.identity).distinct().collect(Collectors.joining(" & ")); System.out.println("Distinct items: " + uniqueItems); // summarize sales by store ConcurrentMap<String, DoubleSummaryStatistics> summary = saleStream() .parallel() .collect( Collectors.groupingByConcurrent( sale -> Thread.currentThread().getName(), Collectors.summarizingDouble(Sale::total))); System.out.println("Summary by thread: " + summary); summary .keySet() .stream() .sorted() .forEach(store -> System.out.println(store + " stats: " + summary.get(store))); }
private List<Annotation> getAnnotationsInternal(List<AnnotationExpr> l) { return l.stream() .map(AnnotationParser::annotationFromAnnotationExpr) .collect(Collectors.toList()); }
public List<Answer> find(Predicate<Answer> pred) { return answers.values().stream().filter(pred).collect(Collectors.toList()); }