入门lambda(二) foreach

https://blog.csdn.net/qq_38930240/article/details/88994338

https://mp.csdn.net/postedit/84840279

总结的遍历需要注意的

package foreach;

import java.util.*;

/**
 * 使用lambda 进行遍历,List的遍历前面试了,换成Map 玩玩
 */
public class Forach {
    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);


        /**
         * Iterator 进行Map的遍历
         */
        /*
        Iterator<Map.Entry<String, Integer>> iterator = items.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, Integer> entry = iterator.next();
            if ("D".equals(entry.getKey())) {
                iterator.remove();
            }else{
                System.out.println("key:" + entry.getKey() + "---value:" + entry.getValue());
            }
        }
         */
        /**
         * lambda forEach Map  remove时会有ConcurrentModificationException
         */
        items.forEach((k,v)->System.out.println("key:" + k + "---value:" + v));

        /**
         * lambda forEach Map  remove时会有ConcurrentModificationException,还是用Iterator进行删除
         */
        /*
        items.forEach((k,v)->{
            if("D".equals(k)){
                items.remove(k);
            }else{
                System.out.println("key:" + k + "---value:" + v);
            }
           });
        */
        System.out.println("LIST LIST LIST LIST LIST LIST");

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

        //lambda
        //Output : A,B,C,D,E
//        list.forEach(str->System.out.println(str));
//        System.out.println("--------");
//
//        //Output : C
//        list.forEach(str->{
//            if("C".equals(str)){
//                System.out.println(str);
//            }
//        });
//        System.out.println("--------");
//
//        //method reference
//        //Output : A,B,C,D,E
//        list.forEach(System.out::println);
//        System.out.println("--------");

        //Stream and filter
        //Output : B
        list.stream()
                .filter(s->s.contains("B"))
                .forEach(System.out::println);


    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值