java集合遍历的总结

ArrayList:
1.普通for
2.增强for
3.迭代器
4.lambda表达式

public static void main(String[] args) {
    // 循环遍历List的4中方法
    List<String> strList = new ArrayList<>();
    strList.add("aaa");
    strList.add("bbb");
    strList.add("ccc");
    // 1. 普通遍历方式
    for (int i = 0; i < strList.size(); i++) {
        System.out.println(strList.get(i));
    }
    // 2.增强的for循环
    for (String str : strList) {
        System.out.println(str);
    }
    // 3. 使用Iterator迭代器
    Iterator<String> it = strList.iterator();
    while (it.hasNext()) {
        String str = (String) it.next();
        System.out.println(str);
    }
    // 4. java8 Lambda方式
    // strList.forEach(System.out::println);//和下面的写法等价
    strList.forEach(str -> {
        System.out.println(str);
    });
}

LinkedList:
1.普通for
2.增强for
3.迭代器
4、lambda表达式

public class Test {
    public static void main(String[] args) {
        //method1();

        LinkedList<String> linkedList=new LinkedList<>();
        linkedList.add("aaaa");
        linkedList.add("bbbb");
        linkedList.add("cccc");
        linkedList.add("dddd");

        //普通for
        for (int i = 0; i < linkedList.size(); i++) {
            System.out.println(linkedList.get(i));
        }
        System.out.println("---------");
        //增强for
        for (String s : linkedList) {
            System.out.println(s);
        }
        System.out.println("----------");
        //迭代器
        Iterator<String> it = linkedList.iterator();
        while (it.hasNext()) {
            String next = it.next();
            System.out.println(next);
        }
        //lambda表达式
        System.out.println("---------");
        linkedList.forEach(s -> System.out.println(s));
    }

HashSet:
1.增强for
2.迭代器
3.lambda表达式

public class Test {
    public static void main(String[] args) {
        //method1();
        //method2();
        HashSet<String> hh=new HashSet<>();
        hh.add("111");
        hh.add("222");
        hh.add("333");
        hh.add("444");
        //Set没有索引,所以没有普通for
        //增强for
        for (String s : hh) {
            System.out.println(s);
        }
        System.out.println("--------");
        //迭代器
        Iterator<String> it = hh.iterator();
        while (it.hasNext()) {
            String next = it.next();
            System.out.println(next);
        }
        System.out.println("---------");
        //lambda表达式
        hh.forEach(s->
                System.out.println(s));
    }

TreeSet:
1、迭代器
2、增强for
3、lambda表达式

public class Test {
    public static void main(String[] args) {
        //method1();
        //method2();
        TreeSet<String> ts=new TreeSet<>();
        ts.add("111");
        ts.add("222");
        ts.add("333");
        ts.add("444");
        //Set没有索引,所以没有普通for
        //增强for
        for (String s : ts) {
            System.out.println(s);
        }
        System.out.println("--------");
        //迭代器
        Iterator<String> it = ts.iterator();
        while (it.hasNext()) {
            String next = it.next();
            System.out.println(next);
        }
        System.out.println("---------");
        //lambda表达式
        ts.forEach(s->
                System.out.println(s));
    }

HashMap:
1、KeySet
2.EntrySet
3.迭代器
4.增强for
5.lambda表达式

public class Test01 {
    public static void main(String[] args) {
        HashMap<String,Integer> hm=new HashMap<>();
        hm.put("zhangsan",23);
        hm.put("lisi",24);
        hm.put("wangwu",25);
        hm.put("wangwu",25);
        hm.put("wangwu",25);
        //同键,用put表示替换
        //keySet获得所有的键
        Set<String> keys = hm.keySet();
        for (String key : keys) {
            Integer value = hm.get(key);
            System.out.println("姓名:"+key+"年龄:"+value);

        }
        System.out.println("--------");
        //entrySet获得entry对象,即键值对对象
        Set<Map.Entry<String, Integer>> entries = hm.entrySet();
        for (Map.Entry<String, Integer> entry : entries) {
            System.out.println(entry);//HashMap自带toString自动调用
        }

TreeMap:
1、KeySet
2.EntrySet
3.迭代器
4.增强for
5.lambda表达式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值