Java-Collection集合极其遍历

Collection是Java中的一种单列集合·,即每次添加只能添加一个元素。它是单列集合的祖宗接口,其功能是全部单列集合都可以使用的

常用方法:

  • public boolean add(E e) 将特定对象添加到当前集合中
  • public void clear() 清空集合
  • public boolean remove(E e) 在集合中删除特定元素
  • public boolean contains(Object obj) 判断当前集合是否包含特点对象
  • public boolean isEmpty() 判断集合是否为空
  • public int size() 获取集合长度
public class Main {
    public static void main(String[] args){
        //Collection是一个接口,不能直接创建对象,只能创建它的实现类对象(ArrayList)
        Collection<String> coll = new ArrayList<>();
        coll.add("abc");//添加
        coll.add("bcd");
        System.out.println(coll);
        coll.remove("abc");//删除
        System.out.println(coll);
        System.out.println(coll.contains("bcd"));//判断是否包含
        System.out.println(coll.isEmpty());//是否为空
        System.out.println(coll.size());//获取长度
    }
}

结果

遍历方式

迭代器遍历

迭代器遍历的特点是不需要利用索引

  • Interator<E> iterator() 获取迭代器对象,默认指向集合的0索引

Iterator中常用方法

  • boolean hasNext() 判断当前位置是否有元素
  • E.next() 获取当前元素位置,并将迭代器对象移向下一个位置
public class Main {
    public static void main(String[] args){
        Collection<String> coll = new ArrayList<>();
        coll.add("abc");
        coll.add("bcd");
        coll.add("eee");

        Iterator<String> it=coll.iterator();
        while(it.hasNext()){
            String str=it.next();
            System.out.println(str);
        }

    }
}

结果

当遍历完毕后,迭代器指向的就是最后没有元素的位置,指针不会复位,如果需要第二次遍历,需要再获取一个新的迭代器对象再进行遍历

另外,在迭代遍历时,不能使用集合的方式进行添加删除,只能使用迭代器的方式。迭代器只能进行删除,即

        while(it.hasNext()){
            String str=it.next();
            if ("bcd".equals(str)){
                it.remove();
            }
            System.out.println(str);
        }
增强for遍历

增强for的遍历底层就是迭代器,是为了简化迭代器代码书写的

所有的单列集合、数组才能用增强for遍历

格式

  • for (元素的数据类型 变量名:数组或集合){  }

快捷生成方式:集合名字.for+回车

public class Main {
    public static void main(String[] args){
        Collection<String> coll = new ArrayList<>();
        coll.add("abc");
        coll.add("bcd");
        coll.add("eee");

        for (String s:coll){
            System.out.println(s);
        }
    }
}

 此时的s只是第三方变量,在循环中对其的修改不会改变原本集合中的值

Lambda表达式遍历

利用forEach方法进行遍历,进一步优先简写为lambda表达式(上篇文已介绍什么是lambda表达式)

public class Main {
    public static void main(String[] args){
        Collection<String> coll = new ArrayList<>();
        coll.add("abc");//添加
        coll.add("bcd");
        coll.add("eee");

        //匿名内部类的方式
        coll.forEach(new Consumer<String>() {
            @Override
            //依次表示集合中的元素
            public void accept(String s) {
                System.out.println(s);
            }
        });
        
        //lambda表达式
        coll.forEach(s-> System.out.println(s));
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/570775.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SWOT分析法:知彼知己的战略规划工具

文章目录 一、什么是SWOT分析法二、SWOT分析法如何产生的三、SWOT分析法适合哪些人四、SWOT分析法的应用场景五、SWOT分析法的优缺点六、SWOT分析实例 一、什么是SWOT分析法 SWOT分析法是一种用于评估组织、项目、个人或任何其他事物的战略规划工具。SWOT是Strengths&#xff…

我们该如何看待AIGC(人工智能)

目录 AIGC的概述&#xff1a; AIGC的发展经历&#xff1a; AIGC的概述&#xff1a; [TOC]( &#x1f680;文章目录) ---AIGC全称为AI-Generated Content&#xff0c;指基于生成对抗网络GAN、大型预训练模型等人工智能技术&#xff0c;通过已有数据寻找规律&#xff0c;并通过…

智能化安全防护:AI防火墙的原理与应用

随着人工智能技术的迅猛发展&#xff0c;其在各个领域的应用也日益广泛。作为引领数字化转型的重要力量&#xff0c;AI技术为我们的生活和工作带来了前所未有的便利与效率。在通信领域&#xff0c;人工智能的应用同样展现出了巨大的潜力和价值&#xff0c;特别是在网络安全防护…

vCenter 物理配置与虚拟机配置对应关系

目录 背景现状概念存储池物理与虚拟资源分配及使用情况汇总 分配cpu内存硬盘VSAN、VM Encryption和VVOL No Requirements厚置备和精简置备 总结cpu内存硬盘建议 背景 现在有三台服务器&#xff0c;需要统计上面所有服务占用的资源情况与总和&#xff0c;目的是看还有多少资源可…

Pandas数据分析小技巧

Pandas数据分析小技巧&#xff1a;提升数据处理效率与准确性的秘诀 Pandas是一个强大的Python数据分析库&#xff0c;它提供了快速、灵活且富有表现力的数据结构&#xff0c;使得数据清洗、转换、分析等操作变得简单而高效。本文将介绍一些Pandas数据分析的小技巧&#xff0c;…

【Linux】谈谈shell外壳是什么?

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

火车头采集怎么发布到Wordpress

火车头采集怎么快速发布到Wordpress系统&#xff0c;可以按照以下步骤操作&#xff1a; 目录 1. Wordpress火车头采集发布模块 2. 发布模块内容参数映射&#xff0c;火车头采集发布数据到Wordpress 3. 简数采集一键发布到Wordpress方法 1. Wordpress火车头采集发布模块 如…

主成分分析PCA原理以及特征

一、PCA原理 原始数据 x ∈ R N x\in R^N x∈RN&#xff0c;经过PCA投影后的数据 y A x &#xff0c; y ∈ R P yAx&#xff0c;y\in R^P yAx&#xff0c;y∈RP 其中&#xff0c; A ∈ R P N A\in R^{P\times N} A∈RPN 二、PCA特征 1、降低数据的维度 2、提取数据的特征…

链表的回文结构(画图精讲)

题目的讲解 解决思路 1&#xff0c;先找中间节点 2&#xff0c;然会进行逆置 3&#xff0c;最后进行对比 1&#xff0c;找到中间节点 这个我们采取快慢指针&#xff0c;来找到中间节点 快慢指针是一种常用的技巧&#xff0c;用于在链表或数组中找到中间节点、检测循环或者解决其…

快速理解Laravel容器(IOC、DI、Provider、Contract)

源码理解思维的提升 分享一些个人见解。 Laravel里面的某些概念&#xff0c;就像魔术一样&#xff0c;看起来很厉害&#xff0c;当知道魔术怎么变的&#xff0c;就会认为也不过如此。所以不必感觉Laravel里有些概念难以理解。 应当抛除被框架约束思维的枷锁&#xff0c;用PHP…

【ContextCapture建模精品教程】PhotoScan空三成果导入ContextCapture建模教程

【ContextCapture建模精品教程】PhotoScan空三成果导入ContextCapture建模教程 文章目录 前言一、PhotoScan软件空三解算二、ContextCapture软件操作总结前言 ContextCapture是一款行业应用广的三维建模的软件,但是ContextCapture处理的空三能力比较弱,导致出现后期模型效果…

Golang流程控制语句

文章目录 顺序控制分支控制if语句switch语句 循环控制for循环语句 跳转控制break语句continue语句goto语句return语句 顺序控制 顺序控制 默认情况下&#xff0c;Go代码执行顺序是按照从上到下依次执行的&#xff0c;这种按照顺序执行的代码就叫做顺序语句。如下&#xff1a; …

Linux 学习之路 -- 进程篇 -- 进程控制

目录 一、进程终止 <1>使用语言和系统自带的方法&#xff0c;进行转换 <2>自定义错误码 <3>小结&#xff1a; <2>两个接口exit / _exit 二、进程等待 <1>简单了解 <2>wait调用 <3>waitpid调用 <4>status <1>W…

第十四章大数据和数据科学4分

14.1 引言 14.1.3 科学理念 1.数据科学 数据科学将数据挖掘、统计分析和机器学习与数据集成整合&#xff0c;结合数据建模能力&#xff0c;去构建预测模型、探索数据内容模式。 数据科学依赖于&#xff1a; 1&#xff09;丰富的数据源。具有能够展示隐藏在组织或客户行为中不…

顺序表的应用-通讯录

顺序表的应用-通讯录 1.操作2.功能要求2.1.功能要求2.2.思路小结2.3.文件梳理2.4.代码实现"SeqList.h""Contact.h""SeqList.c""Contact.c""test.c" 1.操作 链接: 顺序表专题 这篇文章介绍了顺序表的概念与基本操作。 本文将…

什么是 GitHub Wiki 以及如何使用它?

GitHub Wiki 是你项目文档的一个很好的地方。你可以使用 wiki 来创建、管理和托管你的存储库的文档&#xff0c;以便其他人可以使用并为你的项目做出贡献。 GitHub Wiki 很容易开始使用&#xff0c;无需安装任何其他软件。最好的部分是 wiki 与你的 GitHub 存储库集成在一起。…

《九》Qt各种对话框之QColorDialog

前言 QColorDialog类继承于QDialog&#xff0c;是一个设计用来选择颜色的对话框部件。 QColorDialog 在介绍 QColorDialog 之前&#xff0c;我们先简单介绍一下 QColor 类。QColor 类用于表示颜色&#xff0c;支持 RGB&#xff08;红绿蓝&#xff09;三原色表示&#xff0c;也…

【C++】日期计算机

个人主页&#xff1a;救赎小恶魔 欢迎大家来到小恶魔频道 好久不见&#xff0c;甚是想念 今天我们要讲述的是一个日期类计算机的代码实现 引言&#xff1a; 我们日常生活中可能会有一个烦恼。 今天几月几号&#xff1f;过n天后又是几月几号&#xff1f;某年某月某天和x年…

PE文件的导入表,动态链接库中的函数应该如何导入

导入地址表IAT IAT保存的内容与windos操作系统的核心进程、内存、DLL结构有关。IAT是一种表格&#xff0c;用来记录程序正在使用哪些库中的哪些函数。 动态链接库(DLL) 常见的kernel.dll就是一个非常重要的动态链接库&#xff0c;其中包含了运行程序时需要使用到的函数&…

文件操作(1)

为什么使⽤⽂件&#xff1f; 如果没有⽂件&#xff0c;我们写的程序的数据是存储在电脑的内存中&#xff0c;如果程序退出&#xff0c;内存回收&#xff0c;数据就丢失了&#xff0c;等再次运⾏程序&#xff0c;是看不到上次程序的数据的&#xff0c;如果要将数据进⾏持久化的…