List list =Arrays.asList("apple","banana","orange");for(String fruit : list){System.out.println(fruit);}
使用Lambda表达式
List list =Arrays.asList("apple","banana","orange");
list.forEach(fruit ->System.out.println(fruit));
2. 排序
未使用Lambda表达式
List list =Arrays.asList("apple","banana","orange");Collections.sort(list,newComparator(){publicintcompare(String s1,String s2){return s1.compareTo(s2);}});
使用Lambda表达式
List list =Arrays.asList("apple","banana","orange");Collections.sort(list,(s1,s2)-> s1.compareTo(s2));
3. 过滤
未使用Lambda表达式
List list =Arrays.asList("apple","banana","orange");List fileredList =newArrayList();for(String fruit : list){if(fruit.startsWith("a")){
filteredList.add(fruit);}}
使用Lambda表达式
List list =Arrays.asList("apple","banana","orange");List filteredList = list.stream().filter(fruit -> fruit.startsWith("a")).collect(Collectors.toList());
4. 映射
未使用Lambda表达式
List list =Arrays.asList("apple","banana","orange");List lengths =newArrayList();for(String fruit : list){
lengths.add(fruit.length());}
使用Lambda表达式
List list =Arrays.asList("apple","banana","orange");List lengths= list.stream().map(fruit -> fruit.length()).collect(Collectors.toList());
5. 归约
未使用Lambda表达式
List list =Arrays.asList(1,2,3,4,5);int sum =0;for(int i : list){
sum +=i;}
使用Lambda表达式
List list =Arrays.asList(1,2,3,4,5);int sum = list.stream().reduce(0,(a,b)-> a+b);
6、分组
未使用Lambda表达式
List list =Arrays.asList("apple","banana","orange");Map<Integer,List> grouped =newHashMap<Integer,List>();for(String fruit :list){int length = fruit.length();if(!grouped.containsKey(length)){
grouped.put(length,newArrayList());}
grouped.get(length).add(fruit);}
使用Lambda表达式
List list =Arrays.asList("apple","banana","orange");Map<Integer,List> grouped = list.stream().collect(Collectors.groupingBy(fruit -> fruit.length()));
List list=Arrays.asList("apple","banana","orange");List filteredList =newArrayList();for(String fruit : list){if(fruit.startsWith("a")){
filteredList.add(fruit.toUpperCase());}}Collections.sort(filteredList);
使用Lambda表达式
List list=Arrays.asList("apple","banana","orange");List filteredList = list.stream().filter(fruit -> fruit.startsWith("a")).map(String::toUpperCase).sorted().collect(Collectors.toList());