java 8 lambda 实现 Foreach
文章目录
- java 8 lambda 实现 Foreach
-
- 数据打个底
- 1. 遍历 Map 里 Cat 的 name
-
- 1. 土法
- 2. 直接转成 list 并打印
- 3. lambda 法2
- 2. 遍历 List
-
- 1. lambda
- 3. 总结
- 4. 抄的情况
数据打个底
private static Map<Integer, Cat> cats =ImmutableMap.<Integer, Cat>builder().put(1, new Cat("大黄", 24412)).put(453, new Cat("大大绿大绿绿", 222)).put(3, new Cat("大大蓝大蓝大蓝", 2)).put(33, new Cat("大蓝大蓝大蓝", 2)).put(54, new Cat("大黑大蓝大绿大绿", 2)).build();private static List<String> catNameList = new LinkedList<>();
1. 遍历 Map 里 Cat 的 name
1. 土法
@Testpublic void outMapToListOld() {
for (Map.Entry<Integer, Cat> entry : cats.entrySet()) {
catNameList.add(entry.getValue().getName());}System.out.println(catNameList);}
2. 直接转成 list 并打印
@Testpublic void outMapToListNew() {
cats.entrySet().stream().map(s -> s.getValue().getName()).collect(Collectors.toList()).forEach(System.out::println);}
3. lambda 法2
@Testpublic void outMapToListBlog() {
List<String> list = new CopyOnWriteArrayList();cats.forEach((k, v) -> {
catNameList.add(v.getName());});System.out.println(catNameList);}
2. 遍历 List
古法就不写了
1. lambda
list.stream().filter(n -> n.length() > 4).forEach(System.out::println);
就这一句话
3. 总结
本文要重写,关于Map遍历的5种方式,总结过,但是今天又想不全了,难受.
4. 抄的情况
抄源 | 抄量 | 抄后感 |
---|---|---|
blog | 5% | 没怎么看,太容易会让人没有快感,甚至有点恶心,反过来如果太难也不行,难搞哦. |