java中集合遍历的几种方式

迭代器Iterator使用

Collection接口遍历元素使用Iterator(称为迭代器),所有实现Collection接口的集合类都有一个Iterator()方法,只能用于遍历集合。

    List list = new ArrayList<>();
        Iterator iterator = list.iterator();//获取迭代器
        while (iterator.hasNext()) {//判断是否还有下一个,如果不用hasNext()会报NoSuchElementException
            Object next =  iterator.next();
            System.out.println(next);
        }

增强for循环遍历

底层也是采用了 Iterator 的方式实现,可以理解为简化版本的Iterator

   List lists = new ArrayList<>();
        //增强for循环同样可以用在数组上面
        //使用foreach增强for循环
       
        for (Object list:lists) {
            System.out.println(list);
        }

List常用遍历方式
1. 使用迭代器(Iterator)
2. 使用增强for循环
3. 使用普通for循环

Set常用遍历方式
1. 使用迭代器(Iterator)
2. 使用增强for循环
3. 不能使用普通for循环(因为没有提供get方法)

 Map接口常用方法

  1. put:添加
  2. remove:根据键删除映射关系
  3. get:根据键获取值
  4. size:获取元素个数
  5. isEmpty:判断元素是否为空
  6. clear:清空
  7. containsKey:查找键是否存在

 Map常用遍历方式

第一组:先取出所有的key,在通过Key获取对应的Values

		增强for循环
       //先取出所有的key,在通过Key获取对应的Values
        Set keyset = map.keySet();
        for (Object key:keyset) {
            System.out.println(key+"__"+map.get(key));
        }

		迭代器

        //先取出所有的key,在通过Key获取对应的Values
        Set keyset = map.keySet();
        Iterator iterator = keyset.iterator();
        while (iterator.hasNext()){
            Object key = iterator.next();
            System.out.println(map.get(key));
        }
 
第二组:取出所有的Values
     增强for循环

    //把所有的Values值取出
	Collection values = map.values();
       for (Object value:values) {
            System.out.println(value);
        }
	
	    迭代器
       //把所有的Values值取出
        Collection values = map.values();
        Iterator iterator = values.iterator();
        while (iterator.hasNext()){
            Object value = iterator.next();
            System.out.println(value);
        }


第三组:通过EntrySet来获取key-value

	 增强for循环
    //通过EntrySet来获取key-value
	Set entrySet = map.entrySet();
    for (Object entry:entrySet) {
          Map.Entry entrys = (Map.Entry) entry;
          System.out.println(entrys.getKey()+" "+entrys.getValue());
     }
        迭代器
        通过EntrySet来获取key-value
        Set entrySet = map.entrySet();
        Iterator iterator = entrySet.iterator();
        while (iterator.hasNext()){
            Object value = iterator.next();
            Map.Entry entrys = (Map.Entry) value;
            System.out.println(entrys.getKey()+" "+entrys.getValue());
        }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值