首页 > 其他分享 >Collection集合的遍历方式

Collection集合的遍历方式

时间:2023-06-19 21:02:19浏览次数:31  
标签:遍历 迭代 System lists println Collection 集合 out

Collection集合的遍历方式

方式一:迭代器

  1. 遍历就是一个一个的把容器中的元素访问一遍。

  2. 迭代器在Java中的代表是Iterator,迭代器是集合的专用遍历方式。

  3. Collection集合获取迭代器

  4. lterator中的常用方法

  5. 迭代器执行流程

     

     

  6.  

    public class CollectionDemo01 {
      public static void main(String[] args) {
          Collection<String> lists = new ArrayList<>();
          lists.add("网文");
          lists.add("王文");
          lists.add("网军");
          lists.add("网文军");
          System.out.println(lists);
          //[网文,王文,网军,网文军

          //1、得到当前集合的迭代器对象
          Iterator<String> it = lists.iterator();
    //       String ele = it.next();
    //       System.out.println(ele);
    //       System.out.println(it.next());
    //       System.out.println(it.next());
    //       System.out.println(it.next());
    //       System.out.println(it.next()); //NoSuchElementException 出现无此元素异常的错误
          //2、定义while循环
          while(it.hasNext()){
              String ele = it.next();
              System.out.println(ele);
          }
    1. 迭代器的默认位置在哪里?

      Iterator<E> iterator(): 得到迭代器对象,默认指向当前集合的索引0。

    2. 迭代器如果取元素越界会出现什么问题?

      会出现NoSuchElementException异常。

       

方式二:foreach/增强for循环

  1. 增强for循环:既可以遍历集合也可以遍历数组

  2. 它是]DK5之后出现的,其内部原理是一个lterator迭代器,遍历集合相当于是迭代器的简化写法

  3. 实现Iterable接口的类才可以使用迭代器和增强for,Collection接口已经实现了Iterable接口。

  4. 格式:

    for(元素数据类型 变量名 :数组或者Collection集合){
    举例说明
    //在此处使用变量即可,该变量就是元素
    }

     

  5. 举例说明:

    Collection<String> list = new ArrayList<>();
    for(String ele : list) !
    System.outprintln(ele);
    }
  6. 增强for修改变量

     

     

  7. 增强for可以遍历哪些容器?

    1. 既可以遍历集合也可以遍历数组。

  1. 增强for的关键是记住它的遍历格式

    for(元素数据类型 变量名: 数组或者Collection集合){
    //在此处使用变量即可,该变量就是元素
    }
  2. 代码:


          double[] scores = {100 , 99.5 , 59.5};
          for (double score : scores) {
              System.out.println(score);
    //           if(score == 59.5 ){
    //               score = 100.0;
    //           } //修改不了,因为score是拷贝集合中的元素,改score没用,集合中元素不变
          }
          System.out.println(Arrays.toString(scores));

     

方式三:lambda表达式

  1. lambda表达式遍历集合

     

  2. 代码:

     Collection<String> lists = new ArrayList<>();
          lists.add("网文");
          lists.add("王文");
          lists.add("网军");
          lists.add("网文军");
          //[网文,王文,网军,网文军]
          // ele

    //       lists.forEach(new Consumer<String>() {
    //           @Override
    //           public void accept(String s) {
    //               System.out.println(s);
    //           }
    //       });

    //       lists.forEach(s-> {
    //               System.out.println(s);
    //       });

    //       lists.forEach(s-> System.out.println(s) );

          lists.forEach(System.out::println );

标签:遍历,迭代,System,lists,println,Collection,集合,out
From: https://www.cnblogs.com/liandaozhanshi/p/17492156.html

相关文章

  • collection案例
    需求:某影院系统需要在后台存储上述三部电影,然后依次展示出来分析:定义一个电影类,定义一个集合存储对象。创建3个电影对象,封装相关数据,把3个对象存入到集合中去。遍历集合中的3个对象,输出相关信息。Test类packagecom.itheima.d4_collection_object;importjava.ut......
  • HashMap 、LinkedHashMap 、 Hashtable 、ConcurrentHashMap的使用区别和Collections
    LinkedHashMapLinkedHashMap的使用publicstaticvoidmain(String[]args){ LinkedHashMap<String,Integer>map=newLinkedHashMap<>(); //添加元素 Integerput1=map.put("大文",25); Integerput2=map.put("小文",26); Integer......
  • 十年老司机帮你整理最全Android中需要知道的Java集合框架
    前言子曰:温故而知新,可以为师矣。做android已经有好一段时间了,今天突然看到代码中写的各种用来存储数据的ArrayList、管理Activity的LinkedList、用来Retrofit请求数据时多个参数拼接的HashMap。也许使用已经成为了一种习惯,可是使用他的理由又开始在脑海中慢慢淡化了,故写一篇文章来......
  • 十四、集合set(了解)
    十四、集合set(了解)集合和字典一样都是使用大括号。但集合没有value,相当于只有字典的key。字符串,列表和元组属于序列,是有序的,但集合是无序的,所以不能通过下标来查询和修改元素。再总结一下:整数,字符串,元组是不可变数据类型(整数和字符串改变值的话是在内存里开辟新的空间来存......
  • Understanding JavaScript Garbage Collection: Dive into Reference Counting and Ma
    JavaScript,theprogramminglanguageoftheweb,isoftenpraisedforitsabilitytohandlememorymanagementautomatically.TheJavaScriptengine'sgarbagecollectorplaysapivotalroleinthisprocess.Today,we'lltakeadeepdiveintotwom......
  • Kotlin版本的WanAndroid项目实战(三):Kotlin的集合
    集合概述学习方法:扫描一遍下述表格中集合相关的有哪些操作,具体使用时再可以详细去查构造集合Kotlin里面添加了可变集合的概念,目前只是一种接口级别的限制,底层实现还是可变的集合,不是线程安全的,还是可以通过Java代码修改内部元素迭代器(1)Iterable接口的继承者(包括Set与......
  • Scala集合
    集合scala中的集合分为两种,可变集合和不可变集合,不可变集合可以安全的并发的访问!集合的类主要在一下两个包中可变集合包scala.collection.mutable不可变集合包scala.collection.immutable默认的Scala不可变集合,就是指该集合对象不可修改,每次修改就会返回一个......
  • Java集合框架常见面试题
    剖析⾯试最常⻅问题之Java集合框架集合概述Java集合概览从下图可以看出,在Java中除了以Map结尾的类之外,其他类都实现了Collection接⼝。并且,以Map结尾的类都实现了Map接⼝。说说List,Set,Map三者的区别?List(对付顺序的好帮⼿):存储的元素是有序的、可重复的......
  • 集合体系结构
    集合体系结构List系列集合:添加的元素有序,可重复,有索引Collection:是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的set系列集合:添加的元素无序,不重复,无索引 方法名说明publicbooleanadd(Ee)把给定的对象添加到当前集合中publicvoidclear......
  • 【技术积累】Java中的集合框架【一】
    什么是Java集合框架?Java集合框架是Java编程语言中提供的一组接口、实现和算法,用于存储和操作数据集合。集合框架可以让程序员更加高效地组织和操作数据,而无需手动实现底层数据结构。Java集合框架的优点是:提供了丰富、灵活的数据结构和算法,让程序员可以更加高效地完成各种数据......