JAVA 集合遍历案列 JDK1.7与JDK1.8

List集合遍历示例

public static void traverseList(){
        List<String> listTest = new ArrayList<>();
        listTest.add("testOne");
        listTest.add("testTwo");
        listTest.add("testThree");

        // JDK1.7
        // 方法1:普通for
        for (int i = 0; i < listTest.size(); i++) {
            System.out.println("list : " + listTest.get(i));
        }
        // 方法2:增强型for
        for (String str : listTest) {
            System.out.println("list :" + str);
        }
        // 方法3:迭代器
        Iterator<String> iteratorList = listTest.iterator();
        while(iteratorList.hasNext()){
            System.out.println("list : " + iteratorList.next());
        }

        // JDk1.8
        // 方法4: lambda表达式
        listTest.forEach(data -> System.out.println("list : " + data));
        listTest.forEach(System.out::println);
        listTest.stream().filter(data -> !"testOne".equals(data)).forEach( data ->
                System.out.println("list : " + data)
        );
    }

Set集合遍历示例

public static void traverseSet(){
        Set<String> setTest = new HashSet<>();
        setTest.add("testOne");
        setTest.add("testTwo");
        setTest.add("testThree");

        // JDK1.7
        // 方法1:增强型for
        for (String str : setTest) {
            System.out.println("setTest : " + str);
        }

        // 方法2:迭代器
        Iterator<String> IteratorSet = setTest.iterator();
        while(IteratorSet.hasNext()){
            System.out.println("IteratorSet : " + IteratorSet.next());
        }

        // JDK1.8
        // 方法3:lambda表达式
        setTest.forEach(data -> System.out.println("set : " + data));
        setTest.forEach(System.out::println);
        setTest.stream().filter(data -> !"testOne".equals(data)).forEach( data ->
                System.out.println("set : " + data)
        );
    }

Map集合遍历示例

    public static void traverseMap(){
        Map<String, String> mapTest =new HashMap<>();
        mapTest.put("one", "valueOne");
        mapTest.put("Two", "valueTwo");
        mapTest.put("Three", "valueThree");
        // JDK1.7
        // 方法1:keySet获取键集合
        for (String keyTest : mapTest.keySet()) {
            System.out.println("key = " + keyTest + "; value = " + mapTest.get(keyTest));
        }
        // 方法2:迭代器
        Iterator<Map.Entry<String,String>> IteratorMap = mapTest.entrySet().iterator();
        while (IteratorMap.hasNext()) {
            Map.Entry<String, String> entry = IteratorMap.next();
            System.out.println("key = " + entry.getKey() + "; value = " + entry.getValue());
        }
        // 方法3:EntrySet
        for (Map.Entry<String, String> entry:mapTest.entrySet()) {
            System.out.println("key = " + entry.getKey() + "; value = " + entry.getValue());
        }

        // JDK1.8
        // 方法4:lambda表达式
        mapTest.forEach((key,value) -> System.out.println("key= " + key + "; value= " + value));
    }

案例展示了JDK1.7与JDk1.8对list、set、map的遍历对比,JDK1.8增加了lambda表达式,简洁明了,但阅读相对不易。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值