第一遍历Map集合
以往会使用增强for语法来遍历如:
public static void main(String[] args) {
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 (Entry<String, Integer> entry : items.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}<br>在控制台输出:<br>A : 10
B : 20
C : 30
D : 40
E : 50
F : 60
其中使用Java8 forEach + lambda表达式来循环一个列表如下:
public static void main(String[] args) {
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(k + ":" + v);
if("E".equals(k)){
System.out.println("Hello E");
}
});
}<br>打印结果为:<br>A:10
B:20
C:30
D:40
E:50
Hello E
F:60
其中forEach方法接收的参数的源码如下:
第二遍历List集合:
public static void main(String[] args) {
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);
}
}<br>打印结果如下:<br>A
B
C
D
其中使用java8 forEach+lambda表达式来实现如下:
public static void main(String[] args) {
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");
//lambda
//Output : A,B,C,D,E
items.forEach(item->System.out.println(item));
//Output : C
items.forEach(item->{
if("C".equals(item)){
System.out.println(item);
}
});
}<br>打印结果如下:<br>A
B
C
D
E
C
其中forEach方法接收的参数的源码如下:
也可以使用System.out::println来输出:System.out::println这段代码其实就是Consumer接口的一个实现方式:
public static void main(String[] args) {
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
items.add("D");
items.add("E");
items.forEach(System.out::println); // 是items.forEach(item -> {
System.out.println(item)
})这个用法的缩写形式
}
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());
}
Java8 forEach遍历List< Map> 数据
public void query() {
UserDao userDao = new UserDao();
ColumnHolder sqlColumn = ColumnHolder.of()
.addColumn("id","1")
.addColumn("passwd","654321");
List<Map<String, Object>> result = userDao.query(sqlColumn);
//输出List集合中Map数据
result.stream()
.forEach(map->
map.forEach((key,val)->
System.out.println("name: "+key+" "+"value:"+val)));
}
版权声明:本文为qq_33735635原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。