遍歷打印List
List<Integer> list= Arrays.asList(1,5,6,8,9,32,5,8,7,4,5);
list.forEach(System.out::println);
排序
List<Integer> list = Arrays.asList(1, 5, 6, 8, 9, 32, 5, 8, 7, 4, 5);
list.sort((o1, o2) -> o1-o2);
過濾
List<Integer> list = Arrays.asList(1, 5, 6, 8, 9, 32, 5, 8, 7, 4, 5);
list.stream().filter(num -> num>10).forEach(System.out::println);
注:過濾器 不會影響 原來的列表
從一個list生成另一個list1數據
List<String> list=Arrays.asList("apple","banana","orange");
List<Integer> list2=list.stream().map(String::length).collect(Collectors.toList());
注:map
對管道流通的每個元素進行一個轉換處理
累加
List<Integer> list = Arrays.asList(1, 5, 6, 8, 9, 32, 5, 8, 7, 4, 5);
Integer reduce = list.stream().reduce(0, (o1, o2) -> o1 + o2);
/**
* indentity 起始值
* (o1, o2) -> o1 + o2 等於 o1=o1+o2
*/
T reduce(T identity, BinaryOperator<T> accumulator);
分組
List<String> list=Arrays.asList("apple","banana","orange");
Map<Integer,List<String>> group=list.stream().collect(Collectors.groupingBy(String::length));
轉換大小寫
Optional.ofNullable("hello,world").map(String::toUpperCase).ifPresent(System.out::println);