1. 程式人生 > >Java(8)中List的遍歷方式

Java(8)中List的遍歷方式

system pack map 新建 lam entry lambda googl list()

============Java8之前的方式==========
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
for (Map.Entry<String, Integer> entry : items.entrySet()) {
System.out.println("Item : " + entry.getKey() + " Count : " + entry.getValue());
}
============forEach + Lambda表達式==========
Map<String, Integer> items = new HashMap<>();
items.put("A", 10);
items.put("B", 20);
items.put("C", 30);
items.put("D", 40);
items.put("E", 50);
items.put("F", 60);
items.forEach((k,v)->System.out.println("Item : " + k + " Count : " + v));
items.forEach((k,v)->{
System.out.println("Item : " + k + " Count : " + v);
if("E".equals(k)){
System.out.println("Hello E");
}
});

二遍歷List:
============Java8之前的方式==========

List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");

for(String item : items){
System.out.println(item);
}
============forEach + Lambda表達式==========
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");
//輸出:A,B,C,D,E
items.forEach(item->System.out.println(item));
//輸出 : C
items.forEach(item->{
if("C".equals(item)){
System.out.println(item);
}
});
---------------------

1、利用stream().forEach()循環處理List;

List<String> list = Lists.newArrayList();//新建一個List 用的google提供的Guava package com.google.common.collect;
list.add("1");
list.add("2");
list.add("3");

list.stream().forEach(string ->{
System.out.println(string);
});
運行結果:
1
2
3

2、利用stream().map()處理List,並給另外一個List賦值:
List<String> list1 = Lists.newArrayList();
List<String> list2 = Lists.newArrayList();
list1.add("1");
list1.add("2");
list1.add("3");

list2 = list1.stream().map(string -> {
return "stream().map()處理之後:" + string;
}).collect(Collectors.toList());

list2.stream().forEach(string -> {
System.out.println(string);
});
運行結果:
stream().map()處理之後:1
stream().map()處理之後:2
stream().map()處理之後:3


3、利用stream().filter()處理List,對該List進行過濾處理:
List<String> list1 = Lists.newArrayList();
List<String> list2 = Lists.newArrayList();
list1.add("1");
list1.add("1");
list1.add("2");
list1.add("3");

list2 = list1.stream().filter(s -> s != "1").collect(Collectors.toList());
System.out.println(list2.toString());
運行結果:
[2, 3]

---------------------

Java(8)中List的遍歷方式