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

Collection集合的遍历

时间:2024-10-15 19:00:46浏览次数:7  
标签:遍历 iterator System Collection println add 集合 c1 out

一、第一种方法,将集合转换成数组,进行循环遍历

public class CollectionDemo3 {
    public static void main(String[] args) {
        Collection c1=new ArrayList();
        c1.add("java");
        c1.add("python");
        c1.add("list");
        c1.add("hive");
        c1.add("world");
        System.out.println(c1);
        Object[] objects=c1.toArray();
        for(int i=0;i< objects.length;i++){
            Object obj=objects[i];
            String s1=(String)obj;
            System.out.println(obj+"-"+s1.length());
        }
        //这里可以使用增强for循环来写
//        for (Object object : objects) {
//            String s1=(String)object;
//            System.out.println(object+"-"+s1.length());
//        }
    }
}

二、第二种方法:使用迭代器进行遍历

/*
    Iterator iterator() 迭代器,集合的专用遍历方式

 */
public class CollectionDemo4 {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        c1.add("hello");
        c1.add("world");
        c1.add("java");
        c1.add("hadoop");
        c1.add("world");



//        Collection类型的集合本身是不可以直接遍历的
//        需要生成对应的迭代器,迭代器中存储了集合中的元素
//        将来遍历迭代器就可以获取集合中的元素了
//        生成迭代器
        Iterator iterator = c1.iterator(); // new Itr()
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next()); // NoSuchElementException
        //每一个迭代器,都有一个独立指针,每调用一次next()方法,就会向后移动一次指针取数据
        //如何判断下一个位置上是否有元素呢?
        while (iterator.hasNext()){  //hasNext()用来判断下一个位置上是否还有元素,要是有就返回ture,没有就返回false
            Object obj = iterator.next();
            String s = (String)obj;
            System.out.println(s+"-"+s.length());
        }

    }
}

标签:遍历,iterator,System,Collection,println,add,集合,c1,out
From: https://www.cnblogs.com/ndmtzwdx/p/18468192

相关文章

  • Java在for循环中修改集合
    前天看到一篇文章什么?for循环也会出问题?,里面涉及到在for循环中修改集合,想起来自己刚入行的时候就碰到过类似的问题,于是复现了一下文章中的问题,并试验了其它在循环中修改集合的方法。底层原理参考什么?for循环也会出问题?这篇文章的分析1.在fori中修改集合在fori中修改集合,不会......
  • 集合Collection接口中的成员方法
    一、Collection集合的介绍:1.Collection是一个接口,List,Set是继承Collection接口的子接口2.当我们使用Collection的方法的时候,由于是一个接口不能直接new对象,可以通过其具体实现的子类来进行调用二、Collection的基本方法(6)1.booleanadd(Ee),可以传任意一个类型的元素进去2......
  • Java在for循环中修改集合
    在Java中,ifPresent是一个用于Optional类型的方法,用于检查Optional对象中是否存在值并执行相应的操作。ifPresent方法接受一个Consumer函数式接口作为参数,如果Optional对象中包含值,则将该值传递给Consumer接口的实现方法。以下是ifPresent方法的使用示例:importj......
  • 【Java集合框架之ArrayList】
    一、ArrayList简介ArrayList类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList继承了AbstractList,并实现了List接口。ArrayList类位于java.util包中,使用前需要引入它,语法格式如下:importjava.util.Arr......
  • java实现 已知一颗树的层序遍历和中序遍历 输出树的先序遍历和后序遍历
    给定树的节点数,在给出这棵树的层序遍历和中序遍历输出这棵树的先序遍历和后序遍历输入735426712536471输出35246712561743importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Scanner;classN......
  • 我怎么理解集合划分容斥
    注:实在想切相互再归的鹅妈妈和[GDKOI2024]异或图的,建议先开[POI2006]KRY-Crystals题解看一下。天下OIers苦证明久矣。通过对集合划分容斥的学习,使我加深了对容斥的目的与过程的理解。先看最原始的集合划分容斥。相互再归的鹅妈妈在0到R间选N个互不相同的数x......
  • iOS Swift 集合类型 (Array、Set 和 Dictionary ) 与 元组
    语言提供数组(Array)、集合(Set)和字典(Dictionary)三种基本的集合类型用来存储集合数据。数组是有序数据的集。集合是无序无重复数据的集。字典是无序的键值对的集。Swift中的数组、集合和字典必须明确其中保存的键和值类型,这样就可以避免插入一个错误数据类型的值。同理,对于获......
  • C语言-用指针遍历二维数组
    一、1.用一级指针遍历二维数组7#include<stdio.h>89intmain(intargc,char*argv[])10{11inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};12int*p;13p=*a;14inti;15for(i=0;i<12;i++){16if(i!=0&&i%4==0)17......
  • java中如何在集合遍历过程中删除元素(5种方法对比、案例、常见的错误及其后果)
    在Java开发中,集合遍历过程中删除元素是一个常见但容易出错的操作。不同的集合类型(如ArrayList、HashSet)有不同的处理方式,而错误使用则可能导致ConcurrentModificationException异常。本文将全面分析该问题的根源,提供最佳实践、对比不同方法,并通过案例展示具体实现。一、问......
  • 毕业论文(设计)题目+毕设选题代码+paper+教程-计算机选题大集合-计算机视觉实战项目集
    选题(包括但不限于下列)基于YOLOv8的道路缺陷检测系统设计基于YOLOv5的手部关节骨龄预测系统设计基于CNN的雨雾天气下车辆检测和颜色识别系统基于YOLOv5算法的智慧零售商品识别系统设计基于YOLOv5的输电线路鸟巢检测系统设计基于深度学习的车型检测系统设计基于CNN的行......