当前位置: 代码迷 >> 综合 >> java 8 lambda 实现 Foreach
  详细解决方案

java 8 lambda 实现 Foreach

热度:78   发布时间:2023-11-21 01:45:42.0

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% 没怎么看,太容易会让人没有快感,甚至有点恶心,反过来如果太难也不行,难搞哦.
  相关解决方案