美文网首页
Java 集合遍历与循环多种方式

Java 集合遍历与循环多种方式

作者: 程序员三时 | 来源:发表于2021-08-25 11:51 被阅读0次

    前言

    Java中集合是非常常用非常重要的 ,应用是十分广泛的,作为集合这种数据结构,遍历循环方式也有很多种我们可以梳理总结不同的遍历方式,方便理解和运用

    image

    List 遍历方式

    1. List继承了Collection,是有序的列表。

    2. 实现类有ArrayList、LinkedList、Vector、Stack等

      1. ArrayList是基于数组实现的,是一个数组队列。可以动态的增加容量!

      2. LinkedList是基于链表实现的,是一个双向循环列表。可以被当做堆栈使用!

      3. Vector是基于数组实现的,是一个矢量队列,是线程安全的!

      4. Stack是基于数组实现的,是栈,它继承与Vector,特性是FILO(先进后出)!

    所有list集合都是迭代器Iterator子类也都统称迭代器,可以通过迭代器方式去循环便利

    1. 第一种方式 迭代器遍历
     List a= new ArrayList();
            a.add(1);
            a.add(2);
            a.add(3);
    
            //获取迭代器
            Iterator b=a.iterator();
            //判断是否有下一个值
            while (b.hasNext()){
                //取出这个值
                System.out.println(b.next());
            }
    
    1. 第二种方式
    List a= new ArrayList();
            a.add(1);
            a.add(2);
            a.add(3);
            for(Iterator iterator=a.iterator();iterator.hasNext();){
                System.out.println(iterator.next());
            }
    
    1. 第三种方式 foreach 遍历
     List a= new ArrayList();
            a.add(1);
            a.add(2);
            a.add(3);
            for(Object o:a){
                System.out.println(o);
            }
    
    1. 第四种方式 fori 遍历
    List a= new ArrayList();
            a.add(1);
            a.add(2);
            a.add(3);
            for(int i=0;i<a.size();i++){
                System.out.println(a.get(i));
            }
    

    Map遍历方式

    1. 按照key方式来遍历
     Map a=new HashMap();
           a.put("a",1);
           a.put("b",2);
           a.put("c",3);
           //获取所以key
           Set key=a.keySet();
           for(Object o:key){
               //通过key 来获取所有值
               System.out.println(a.get(o));
           }
    
    1. 通过Map.entrySet使用iterator遍历key和value
     Map a=new HashMap();
           a.put("a",1);
           a.put("b",2);
           a.put("c",3);
           // 获取Iterator
           Iterator<Map.Entry<String, Integer>> it = a.entrySet().iterator();
           //遍历
            while (it.hasNext()) {
                Map.Entry<String, Integer> entry = it.next();
                System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
            }
    
    1. 通过Map.entrySet遍历key和value,推荐,尤其是容量大时
    Map a=new HashMap();
           a.put("a",1);
           a.put("b",2);
           a.put("c",3);
            for ( Object o : a.entrySet()) {
                //Map.entry<Integer,String> 映射项(键-值对)  有几个方法:用上面的名字entry
                //entry.getKey() ;entry.getValue(); entry.setValue();
                //map.entrySet()  返回此映射中包含的映射关系的 Set视图。
                Map.Entry<String,Integer> d=(Map.Entry<String,Integer> )o;
                System.out.println("key= " + d.getKey() + " and value= " + d.getValue());
            }
    
    1. 通过Map.values()遍历所有的value,但不能遍历key
     Map a = new HashMap();
            a.put("a", 1);
            a.put("b", 2);
            a.put("c", 3);
            for (Object o : a.values()) {
                System.out.println(o);
    
            }
    

    相关文章

      网友评论

          本文标题:Java 集合遍历与循环多种方式

          本文链接:https://www.haomeiwen.com/subject/bhvsiltx.html