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

kenx
• 阅读 1217

前言

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

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

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());
         }
  2. 第二种方式

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);

        }
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
九路 九路
3年前
前端学数据结构与算法:二叉树的四种遍历方式及其应用
前言上一章我们从0到1的实现了一颗二叉搜索树,以及理解了二叉搜索树的特性与基本操作,这一章介绍关于二叉树的更多操作,也就是树的遍历,对树的每个节点进行访问。主要包括前序遍历、中序遍历、后序遍历、层序遍历,前面三种也叫深度优先遍历(DFS),最后的层序遍历也叫广度优先遍历(BFS),理解这四种遍历方式的不同,再遇到树相关的算法问题时,也就能更加游刃有余。这
待兔 待兔
3年前
Java中遍历HashMap的5种方式
本教程将为你展示Java中HashMap的几种典型遍历方式。如果你使用Java8,由于该版本JDK支持lambda表达式,可以采用第5种方式来遍历。如果你想使用泛型,可以参考方法3。如果你使用旧版JDK不支持泛型可以参考方法4。1、通过ForEach循环进行遍历importjava.io.IOException;importjav
Wesley13 Wesley13
2年前
javaAPI_集合基础_List
List集合1.list集合以及其特点list集合是有序的,且可重复的。有序是指:存储的是什么那么遍历出来的也就是什么。2.list集合特有的功能(1).添加功能voidadd(intindex,objectelement):在指定位置添加元素(2).获取功能Objectget(intind
Wesley13 Wesley13
2年前
JAVA之forEach遍历集合
JAVA之forEach遍历集合在JDK8中,根据Lambda表达式的特性还增加了一个forEach(Consumeraction)方法来遍历集合,该方法所需要的参数是一个函数式接口importjava.util.ArrayList;importjava.util.List;
Stella981 Stella981
2年前
JavaScript中遍历数组和对象的方法
js数组遍历和对象遍历针对js各种遍历作一个总结分析,从类型用处,分析数组和对象各种遍历使用场景,优缺点等JS数组遍历:1,普通for循环,经常用的数组遍历vararr1,2,0,3,9,10,20,
Wesley13 Wesley13
2年前
Java遍历List集合的4种方式
publicclassTest{publicstaticvoidmain(Stringargs){//循环遍历List的4中方法List<StringstrListnewArrayList<();strList
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
Java之五种遍历Map集合的方式
摘要:在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历。在java中所有的map都实现了Map接口,因此所有的Map都可以用以下的方式去遍历。这篇文章主要给大家介绍了关于Java中遍历Map集合的5种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面一起学习学
Wesley13 Wesley13
2年前
JAVA中循环删除list中元素的方法总结
印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后今天在使用时发现报错了,然后去科普了一下,再然后发现这是一个误区。下面就来讲一讲。。伸手党可直接跳至文末。看总结。。  JAVA中循环遍历list有三种方式for循环、增强for循环(也就是常说的foreach循环)、iterator遍历。1、for循环遍