//1.将数据收集进一个列表(Stream 转换为 List,允许重复值,有顺序) //创建流 Stream
language = Stream.of("java", "python", "C++","php","java"); List
listResult = language.collect(Collectors.toList()); result.forEach(System.out::println);
//2.stream()代替流 List
list = Arrays.asList("java", "python", "C++","php","java"); List
listResult = list.stream().collect(Collectors.toList()); listResult.forEach(System.out::println);
//1.将数据收集进一个集合(Stream 转换为 Set,不允许重复值,没有顺序) Stream
language = Stream.of("java", "python", "C++","php","java"); Set
setResult = language.collect(Collectors.toSet()); setResult.forEach(System.out::println);
List
list = Arrays.asList("java", "python", "C++","php","java"); //用LinkedList收集 List
linkedListResult = list.stream().collect(Collectors.toCollection(LinkedList::new)); linkedListResult.forEach(System.out::println); System.out.println("--------------"); //用CopyOnWriteArrayList收集 List
copyOnWriteArrayListResult = list.stream().collect(Collectors.toCollection(CopyOnWriteArrayList::new)); copyOnWriteArrayListResult.forEach(System.out::println); System.out.println("--------------"); //用TreeSet收集 TreeSet
treeSetResult = list.stream().collect(Collectors.toCollection(TreeSet::new)); treeSetResult.forEach(System.out::println);
List
list = Arrays.asList("java", "python", "C++","php","java"); //直接将输出结果拼接 System.out.println(list.stream().collect(Collectors.joining())); //每个输出结果之间加拼接符号“|” System.out.println(list.stream().collect(Collectors.joining(" | "))); //输出结果开始头为Start--,结尾为--End,中间用拼接符号“||” System.out.println(list.stream().collect(Collectors.joining(" || ", "Start--", "--End")));
List
list = Arrays.asList("java", "python", "C++","php","java"); Map
> result = list.stream().collect(partitioningBy(s -> s.length() > 2));
六、collectingAndThen(),收集之后继续做一些处理。例如
List
list = Arrays.asList("java", "python", "C++","php","java"); //收集后转换为不可变List ImmutableList
collect = list.stream().collect(Collectors.collectingAndThen(Collectors.toList(), ImmutableList::copyOf));
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212419.html原文链接:https://javaforall.net
