publicstaticvoidmain(String[] args){List<String> list =Arrays.asList("apple","banana","orange");System.out.println("常规遍历");for(String s : list){System.out.println(s);}System.out.println("lambda遍历1");
list.forEach(System.out::println);System.out.println("lambda遍历2");
list.forEach(s ->{System.out.println(s);});}
常规遍历
apple
banana
orange
lambda遍历1
apple
banana
orange
lambda遍历2
apple
banana
orange
排序
publicstaticvoidmain(String[] args){List<String> list =Arrays.asList("apple","banana","orange");System.out.println("常规排序");Collections.sort(list,newComparator<String>(){@Overridepublicintcompare(String o1,String o2){return o1.compareTo(o2);}});System.out.println(list);System.out.println("lambda排序");Collections.sort(list,((o1, o2)-> o1.compareTo(o2)));System.out.println(list);}
publicstaticvoidmain(String[] args){List<String> list =Arrays.asList("apple","banana","orange");ArrayList<String> list2 =newArrayList<>();System.out.println("常规过滤");for(String s : list){if(s.startsWith("a")){
list2.add(s);}}System.out.println(list2);System.out.println("lambda过滤");List<String> list3 = list.stream().filter(s -> s.startsWith("a")).collect(Collectors.toList());System.out.println(list3);}
常规过滤
[apple]
lambda过滤
[apple]
映射
publicstaticvoidmain(String[] args){List<String> list =Arrays.asList("apple","banana","orange");ArrayList<Integer> list2 =newArrayList<>();System.out.println("常规映射");for(String s : list){
list2.add(s.length());}System.out.println(list2);System.out.println("lambda映射");List<Integer> collect = list.stream().map(s -> s.length()).collect(Collectors.toList());System.out.println(collect);}
常规映射
[5,6,6]
lambda映射
[5,6,6]
求和
publicstaticvoidmain(String[] args){List<Integer> list =Arrays.asList(1,2,3,4,5);int sum =0;for(Integer v : list){
sum += v;}System.out.println("常规求和");System.out.println(sum);System.out.println("lambda求和");// 第一个参数代表初始值(目前设置的是0)Integer reduce = list.stream().reduce(0,(a, b)-> a + b);System.out.println(reduce);}
常规求和
15
lambda求和
15
分组
publicstaticvoidmain(String[] args){List<String> list =Arrays.asList("apple","banana","orange");Map<Integer,List<String>> groups =newHashMap<>();System.out.println("常规分组");for(String s : list){int length = s.length();if(!groups.containsKey(length)){
groups.put(length,newArrayList<>());}
groups.get(length).add(s);}System.out.println(groups);System.out.println("lambda分组");Map<Integer,List<String>> collect = list.stream().collect(Collectors.groupingBy(String::length));System.out.println(collect);}