JAVA单列集合

c4ade6464411419aa84bae42fdb3613c.jpg

 List系列集合:添加的元素是 有序、可重复、有索引

 Set系列集合:添加的元素是 无序、不重复、无索引

Collection

Collection是单列集合的接口,它的功能是全部单列集合都可以继承使用的

public boolean add(E e)        把给定的对象添加到当前集合中
public void clear()        清空集合中所有的元素
public boolean remove(E e)        把给定的对象在当前集合中删除
public boolean contains(bject obj)        判断当前集合中是否包含给定的对象
public boolean isEmpty()        判断当前集合是否为空
public int size()        返回集合中元素的个数/集合的长度

Collection是一个接口,我们不能直接创建他的对象。所以,现在我们学习他的方法时,只能创建他实现类的对象。
下面用多态的方式创建对象,这是为了学习Collection接口里的方法

add:把给定的对象添加到当前集合中

5c81e3d7db6949d29a7fb4865a97d6db.png

94206abab92b4a6cbeece5c82c653800.png

如果我们要往List系列集合中添加数据,那么方法永远返回true,因为List系列的是允许元素重复的。
如果我们要往Set系列集合中添加数据,如果当前要添加元素不存在,方法返回true,表示添加成功。如果当前要添加的元素已经存在,方法返回false,表示添加失败。因为Set系列的集合不允许重复。

clear:清空集合中所有的元素

67a6ef3968204a5e9747ec9ad6fa5a5f.png0966331c088f4944aff34b3e5e8d7275.png

remove(E e)        把给定的对象在当前集合中删除

95e60024955a48b9bd39fc5ed773ba66.png32ec8e1eed1c4f44af266e4204563cdb.png

因为Collection里面定义的是共性的方法,所以此时不能通过索引进行删除。只能通过元素的对象进行删除。方法会有一个布尔类型的返回值,删除成功返回true,删除失败返回false。如果要删除的元素不存在,就会删除失败。

contains(bject obj)        判断当前集合中是否包含给定的对象

2f6fbfc6981145c689ca666e61e34b8c.pngd6621a79c8c1461db3f3531f3038041d.png

e0a31b90414c40308df8cc0810440788.png

272aa4b46f98434e83c9cf2ee6560d62.png

contains底层是依赖equals方法进行判断是否存在的。

b3d306087a5c4e7b8b0859183489bdb3.png所以,如果集合中存储的是自定义对象(例如自己定义的Student类,teacher类),也想通过contains方法来判断是否包含,那么在javabean类中,一定要重写equals方法。 

isEmpty()        判断当前集合是否为空

2e9ea2604f21431aa8d8728bbf946394.png

c623d22fafa4401d8a09fda9e62d60d7.png

size()        返回集合中元素的个数/集合的长度

a9dadfb28ccb4115b771f3eeb82023bf.png977bba15ebb04447bce8e99774b75e48.png

Collection遍历方式

迭代器遍历

迭代器在Java中的类是lterator,迭代器是集合专用的遍历方式

Collection集合获取迭代器

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

lterator中的常用方法 

boolean hasNext()        判断当前位置是否有元素,有元素返回true,没有元素返回false
E next()        获取当前位置的元素,并将迭代器对象移向下一个位置。

0bed0597b8d14d93be5b4ad7f350e9f0.png9f07181b4efb4b4dbde38c9f5526b1fe.png

迭代器遍历完毕,指针不会复位

34eed5aeca684dc4841723902040cf72.pngb63632407a874a238161a76792b0cb81.png如果我们要继续第二次遍历集合,只能再次获取一个新的迭代器对象

增强for遍历

增强for的底层就是迭代器,为了简化迭代器的代码书写的。
它是IDK5之后出现的,其内部原理就是一个iterator迭代器
所有的单列集合和数组才能用增强for进行遍历

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

 

}

44eb98b0845640dea9abca9eff8b84cd.png c368c8a9817a4f4aa4b21c4e86fa2497.png

修改增强for中的变量,不会改变集合中原本的数据。

1b0f4a9cb7484690b09d502cad9ef77d.png

80e407d460ff420dbff9c39ab578ca29.png

Lambda表达式遍历

得益于]DK8开始的新技术Lambda表达式,提供了一种更简单、更直接的遍历集合的方式。

5ac1ea5a99144542a3a4333bf64543da.png

26c2041d92494752985eb7db8bf862aa.png

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI学习指南深度学习篇-自注意力机制(Self-Attention Mechanism)

AI学习指南深度学习篇—自注意力机制&#xff08;Self-Attention Mechanism&#xff09; 在深度学习的研究领域&#xff0c;自注意力机制&#xff08;Self-Attention Mechanism&#xff09;作为一种创新的模型结构&#xff0c;已成为了神经网络领域的一个重要组成部分&#xf…

附录章节:SQL标准与方言对比

目录 1. SQL标准 2. 常见的SQL方言及其特性 3. 对比总结 附录 B: 常见错误及解决方案 1. 语法错误 2. 数据类型不匹配 3. 索引缺失 4. 存储过程执行失败 5. 锁定问题 6. 性能瓶颈 附录 C: 进一步阅读资源 1. 书籍 2. 在线资源 3. 视频课程 1. SQL标准 定义: SQL…

SpringBoot 事务管理 @Transactional

Spring JDBC的事务管理 事务&#xff08;Transaction&#xff09;&#xff1a;是关系型数据库中一种能够保障多个写操作&#xff08;增、删、改&#xff09;要么全部成功&#xff0c;要么全部失败的机制。 在基于Spring JDBC的项目中&#xff0c;只需要在业务方法上添加Trans…

Java基于数据库的分布式可重入锁(带等待时间和过期时间)

文章目录 技术背景介绍代码实现数据库表结构尝试获取锁续约阻塞式获取锁解锁检查锁是否过期或者释放 使用示例优化方案 项目代码 技术背景介绍 一般分布式锁使用最方便的就是使用redis实现&#xff0c;因为他自带超时过期机制、发布订阅模式、高吞吐高性能的优势&#xff0c;…

Redis环境的搭建

Redis环境的搭建可以分为Linux系统和Windows系统两种情况。 一、Linux系统下Redis的搭建 1. 安装前准备 确保Linux系统已安装GCC环境&#xff0c;可以使用yum install gcc-c命令安装。下载Redis安装包&#xff0c;例如redis-6.2.6.tar.gz&#xff0c;并将其上传到Linux服务器…

Spring MVC(下)

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多JavaEE知识 目录 1.响应 1.1 返回静态页面 1.2 返回数据ResponseBody 1.3 返回HTML代码⽚段 1.4 返回JSON 1.5 设置状态码 1.6 设置Header 2 . …

【文献及模型、制图分享】基于国际湿地城市视角的常德市湿地保护修复成效与归因分析及其政策启示

文献介绍 《湿地公约》提出的“国际湿地城市”认证是促进湿地保护修复的新举措。以国际湿地城市常德市为例&#xff0c;基于2000—2022年15 m空间分辨率湿地分类数据&#xff0c;监测常德市湿地保护修复逐年动态变化&#xff0c;定量分析湿地保护修复驱动因素的重要性和贡献率…

K8s中TSL证书如何续期

TSL是什么 K8s中的作用是什么&#xff1f; 在 Kubernetes&#xff08;K8s&#xff09;中&#xff0c;TSL 指的是 Transport Layer Security&#xff0c;也就是传输层安全协议。它是用来保护在网络上传输的数据的安全性和隐私性。 TSL 在 Kubernetes 中的作用包括&#xff1a;…

第1讲(ASP.NET Core 6 Web Api 开发入门):第一个Web Api项目

一、运行模板项目 二、验证模板项目的api 法1&#xff1a;直接在网页上进行验证api 法2&#xff1a;通过命令行验证api 复制下图的Curl语句&#xff0c;打开命令行进行粘贴。&#xff08;对于windows系统&#xff0c;需要把换成"&#xff0c;再去掉所有的/&#xff0c;最…

一文了解AOSP是什么?

一文了解AOSP是什么&#xff1f; AOSP基本信息 基本定义 AOSP是Android Open Source Project的缩写&#xff0c;这是一个由Google维护的完全免费和开放的操作系统开发项目。它是Android系统的核心基础&#xff0c;提供了构建移动操作系统所需的基本组件。 主要特点 完全开源…

【景观生态学实验】实验一 ArcGIS地理数据处理及制图基础

实验目的 1.掌握ArcGIS软件基本操作&#xff1a;通过实验操作与学习&#xff0c;熟练掌握ArcGIS软件相关的基本操作&#xff0c;包括界面熟悉、工具栏使用、数据的加载和保存、基本数据处理操作等; 2.掌握如何使用ArcGIS进行影像拼接及裁剪&#xff1a;通过实验操作与学习&am…

传知代码-ChatGPT多模态命名实体识别

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 ChatGPT辅助细化知识增强&#xff01; 多模态命名实体识别&#xff08;MNER&#xff09;最近引起了广泛关注。 用户在社交媒体上生成大量非结构化内容&#xff0c;主要由图像和文本组成。这些帖子具有与社交媒体相…

海外服务器的价格取决于服务器的性能和租赁时间

租用服务器是许多企业或个人需要考虑的问题。服务器的价格取决于服务器的性能和租赁时间。此外&#xff0c;服务器的价格也受到硬件和操作系统选择的影响。那么&#xff0c;一年租一台服务器要多少钱呢&#xff1f; 1.服务器的性能最大的优点是可以提供高性能的处理速度和高安全…

GISBox vs CesiumLab:哪款GIS工具更适合你的项目?

在地理信息系统&#xff08;GIS&#xff09;领域&#xff0c;越来越多的用户开始关注GIS工具箱的选择&#xff0c;其中GISBox和CesiumLab是两款备受推崇的产品。那么&#xff0c;哪一款更适合你的需求呢&#xff1f;本文将从功能、使用体验和应用场景等方面&#xff0c;对GISBo…

产品如何实现3D展示?具体步骤如下

产品实现3D展示主要依赖于先进的3D建模与展示技术。以下是产品实现3D展示的具体步骤和方法&#xff1a; 一、3D建模 使用专业的3D建模软件&#xff0c;如Blender、Maya、3ds Max等&#xff0c;这些软件提供了丰富的建模工具和材质编辑器&#xff0c;能够创建出高精度的3D模型…

Python基于amazon/chronos-t5-base的预训练模型离线对时间系列数据的未来进行预测

Python基于预训练模型对时间系列数据的未来进行预测 导入库 %matplotlib inline import matplotlib.pyplot as plt import numpy as np import pandas as pd import torch from chronos import ChronosPipeline from tqdm.auto import tqdm from autogluon.timeseries import…

电脑定期运行某个程序

1、右键计算机-管理&#xff0c;点击任务计划程序&#xff0c;再点击创建基本任务&#xff1b; 2、写名称&#xff0c;下一步 3、选择任务开始计划&#xff0c;下一步 4、选择触发时间&#xff0c;下一步 5、选择启动程序&#xff0c;下一步 6、选择运行的程序&#xff0c;下一…

模型拆解(一):DBINet、GCPANet、CPD、ACCoNet、FPS-U2Net

文章目录 一、DBINet1.1编码器模块&#xff1a;ResNet50PVT双分支结构1.2解码器模块&#xff1a;自细化模块SR的应用1.3DFM&#xff1a;双分支融合模块1.4转换器模块&#xff1a;调整编码器输出至解码器中1.5深度监督损失函数 二、GCPANet2.1编码器模块&#xff1a;ResNet50主干…

uniapp移动端优惠券! 附源码!!!!

本文为常见的移动端uniapp优惠券&#xff0c;共有6种优惠券样式&#xff08;参考了常见的优惠券&#xff09;&#xff0c;文本内容仅为示例&#xff0c;您可在此基础上调整为你想要的文本 预览效果 通过模拟数据&#xff0c;实现点击使用优惠券让其变为灰色的效果&#xff08;模…

来自骨关节炎计划的膝关节MR图像的自动异常感知3D骨骼和软骨分割|文献速递-基于生成模型的数据增强与疾病监测应用

Title 题目 Automated anomaly-aware 3D segmentation of bones and cartilages in kneeMR images from the Osteoarthritis Initiative 来自骨关节炎计划的膝关节MR图像的自动异常感知3D骨骼和软骨分割 Background 背景 近年来&#xff0c;多个机器学习算法被提出用于图像…