从零学Java 集合概述

Java 集合概述

文章目录

  • Java 集合概述
    • 1 什么是集合?
    • 2 Collection体系集合
      • 2.1 Collection父接口
        • 2.1.1 常用方法
        • 2.1.2 Iterator 接口

1 什么是集合?

概念:对象的容器,定义了对多个对象进行操作的常用方法;可实现数组的功能。

和数组区别

  • 数组长度固定,集合长度不固定。
  • 数组可以存储基本类型和引用类型,集合只能存储引用类型。

2 Collection体系集合

Collection体系结构的根接口,代表一组对象,称为“集合”。

  • List接口的特点:有序有下标、元素可重复
  • Set接口的特点:无序无下标、元素不能重复

在这里插入图片描述

2.1 Collection父接口

特点:代表一组任意类型的对象。

2.1.1 常用方法

eg:

/*** @author 胡昊龙* @version 1.0* @description: TODO* @date 2024/1/10 11:09*/
public class Test {public static void main(String[] args) {//Collection接口的使用//创建集合Collection collection = new ArrayList();Collection collection1 = new ArrayList();//1 添加单个元素collection.add("北京");collection.add("上海");collection.add("杭州");collection.add("哈尔滨");collection.add("北京");collection1.add("廊坊");collection1.add("保定");collection1.add("保定");//1.1 添加整个集合collection.addAll(collection1);System.out.println("元素个数: "+collection1.size());System.out.println("打印: "+collection1);System.out.println("元素个数: "+collection.size());System.out.println("打印: "+collection);//2 删除//2.1 删除一个元素collection.remove("北京");System.out.println("删除以后: "+collection);//2.2 清空collection1.clear();System.out.println("清空: "+collection1);//3 遍历//3.1 增强forSystem.out.println("增强for-----------");for (Object o : collection) {System.out.println(o);}//3.2 迭代器:集合中专门用来遍历集合的System.out.println("迭代器------------");Iterator it = collection.iterator();//3.2.1 it.hasNext(); 判断是否还有元素//3.2.2 it.next(); 获取下一个元素while (it.hasNext()){Object next = it.next();System.out.println(next);}//3.2.3 it.remove(); 删除元素//4 判断//4.1 判断元素是否存在System.out.println(collection.contains("哈尔滨"));//4.2 判断集合是否为空System.out.println(collection1.isEmpty());}
}
2.1.2 Iterator 接口

Iterator:迭代器用来遍历集合的统一接口。

  • hasNext();判断是否还有元素
  • next();获取元素
  • remove();删除元素。
//3.2 迭代器:集合中专门用来遍历集合的
System.out.println("迭代器------------");
Iterator it = collection.iterator();
//3.2.1 it.hasNext(); 判断是否还有元素
//3.2.2 it.next(); 获取下一个元素
while (it.hasNext()){Object next = it.next();System.out.println(next);
}
//3.2.3 it.remove(); 删除当前元素
//it.remove();

注意

  • 不能执行多次next()。
  • 在使用迭代器过程中,不能使用集合的删除方法,只能使用迭代器的删除方法,
    否则出现并发修改异常(ConcurrentModificationException)

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

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

相关文章

Logo设计神器:适合新手的简易操作软件,快速入门!

标志设计软件在品牌营销和企业识别中发挥着重要作用。本文将对10款知名标志设计软件进行横向评价,从不同维度评价其功能、易用性、创意和适用性,帮助您选择最适合您需求的标志设计软件。 1.即时设计 推荐指数:★★★★★ 即时设计是一款功…

springboot 2.7 oauth server配置源码走读一

springboot 2.7 oauth server配置源码走读 入口: 上述截图中的方法签名和OAuth2AuthorizationServerConfiguration类中的一个方法一样,只不过我们自己的配置类优先级比spring中的配置类低,算是配置覆盖,看下图所示: …

阿里云国际服务器设置安全防护程序

阿里云云服务器(ECS)提供弹性、安全、高性能、高性价比的虚拟云服务器,满足您的所有需求。立即在这里免费注册! 常见 Web 应用程序 请勿对 Web 服务控制台(如 WDCP、TOMCAT、Apache、Nginx、Jekins、PHPMyAdmin、Web…

JavaScript数组sort()对负数排序的陷阱

前言 想着好久没去力扣刷题了,刚好手上的需求也差不多了,就去看了看。看到一个难度级别为困难的题,看到这个题想着直接使用JS现成的方法,先concat再sort。再取中间值不就实现了吗。是不是你们也这么想,哈哈哈。 就是…

11 个 Python全栈开发工具集

前言 以下是专注于全栈开发不同方面的 Python 库;有些专注于 Web 应用程序开发,有些专注于后端,而另一些则两者兼而有之。 1. Taipy Taipy 是一个开源的 Python 库,用于构建生产就绪的应用程序前端和后端。 它旨在加快应用程序开发&#xf…

2024--Django平台开发-Django知识点(五)

day05 django知识点 今日概要: 中间件 【使用】【源码】cookie 【使用】【源码 - Django底层请求本质】session【使用】【源码 - 数据库请求周期中间件】 1.中间件 1.1 使用 编写类,在类型定义:process_request、process_view、process_…

【C++】STL 算法 ⑨ ( 预定义函数对象示例 - 将容器元素从大到小排序 | sort 排序算法 | greater<T> 预定义函数对象 )

文章目录 一、预定义函数对象示例 - 将容器元素从大到小排序1、sort 排序算法2、greater<T> 预定义函数对象 二、代码示例 - 预定义函数对象1、代码示例2、执行结果 一、预定义函数对象示例 - 将容器元素从大到小排序 1、sort 排序算法 C 标准模板库 ( STL , Standard Te…

离散数学-二元关系

4.1关系的概念 1)序偶及n元有序组 由两个个体x和y&#xff0c;按照一定顺序排序成的、有序数组称为有序偶或有序对、二元有序组&#xff0c; 记作<x&#xff0c;y>&#xff0c;其中x是第一分量&#xff0c;y是第二分量。 相等有序偶&#xff1a;第一分量和第二分量分…

游戏开发中,你的游戏图片压缩格式使用ASTC了吗

文章目录 ASTC原理&#xff1a;使用要求 ASTC&#xff08;Adaptive Scalable Texture Compression&#xff0c;自适应可伸缩纹理压缩&#xff09;是一种高级的纹理压缩技术&#xff0c;由ARM公司开发并推广。它在图形处理领域中因其出色的压缩效率和灵活性而受到广泛关注。 AST…

前端国际化之痛点(二):多包多库场景下联动多语言

前言 VoerkaI18n是一款非常优秀的前端国际化解决方案&#xff0c;其开发的出发点是为了解决现存多语言的一些痛点,接下来几篇文章将分别进行分析。 前端国际化之痛点(一)&#xff1a;让人头疼的词条Key前端国际化之痛点(二)&#xff1a;多包多库场景下联动多语言前端国际化之…

Jetson Orin AGX 64GB更新 Jetpack6.0

Jetson Orin AGX 64GB更新 Jetpack6.0 注意&#xff1a; 1&#xff0c;如果你要向我一样为AGX更新Jetpack6.0的话&#xff0c;它还要求你的ubuntu版本必须是20.04 或22.04 2&#xff0c;安装完SDKmanager后&#xff0c;然后选择对应的设备&#xff0c;根据个人选择勾选是否安装…

【Mysql】InnoDB 引擎中的页目录

一、页目录和槽 现在知道记录在页中按照主键大小顺序串成了单链表。 那么我使用主键查询的时候&#xff0c;最顺其自然的办法肯定是从第一条记录&#xff0c;也就是 Infrimum 记录开始&#xff0c;一直向后找&#xff0c;只要存在总会找到。这种在数据量少的时候还好说&#x…

四、K8S-Deployment(无状态服务)

目录 一、引入Deployment 二、Deployment资源清单 三、Deployment支持的功能 1、扩缩容 1、通过命令行方式修改 2 、在线编辑yaml文件方式修改 2、镜像更新 1、重建更新 2、滚动更新 3、金丝雀发布&#xff08;灰度更新&#xff09; [rootk8s-master-1 ~]# kubectl g…

centos用yum安装mysql详细教程

1 查询安装mysql的yum源,命令如下 ls /etc/yum.repos.d/ -l 界面如下图所示&#xff0c;未显示mysql的安装源 2 安装mysql相关的yum源,例如&#xff1a; 例如&#xff1a;rpm -ivh mysql57-community-release-el7.rpm 要注意 mysql的版本和系统的版本匹配 mysql57-communi…

【高等数学之泰勒公式】

一、从零开始 1.1、泰勒中值定理1 什么是泰勒公式?我们先看看权威解读: 那么我们从古至今到底是如何创造出泰勒公式的呢? 由上图可知&#xff0c;任一无穷小数均可以表示成用一系列数字的求和而得出的结果&#xff0c;我们称之为“无穷算法”。 那么同理我们想对任一曲线来…

Qt/QML编程学习之心得:hicar手机投屏到车机中控的实现(32)

hicar,是华为推出的一款手机APP,有百度地图、华为音乐,更多应用中还有很多对应手机上装在的其他APP,都可以在这个里面打开使用,对开车的司机非常友好。但它不仅仅是用在手机上,它还可以投屏到车机中控上,这是比较神奇的一点。 HiCar本质上是一套智能投屏系统,理论上所有…

springboot 企业微信 网页授权

html 引入jquery $(function () {// alert("JQ onready");// 当前企业的 corp_idconst corp_id xxxxxx;// 重定向 URL → 最终打开的画面地址&#xff0c;域名是在企业微信上配置好的域名const redirect_uri encodeURI(http://xxxxx.cn);//企业的agentId 每个应用都…

Vue3-39-路由-导航异常的检测 afterEatch 与 编程式导航之后的订阅动作

说明 本文主要是介绍一下 路由的后置守卫 afterEatch 的一个重要的作用 &#xff1a; 就是检测路由异常信息。 它的实现方式是 通过第三个参数来返回的。 而且&#xff0c;它的异常检测是全局的。导航的异常有以下三种类型&#xff1a; aborted : 在导航守卫中 被拦截并返回了…

【Blog】记录一下如何让自己的自建网站让百度搜索收录

记录一下如何让自己的自建网站让百度搜索收录 目录 记录一下如何让自己的自建网站让百度搜索收录一、前言二、开始操作1、第一步&#xff1a;进入设置2、第二步&#xff1a;开始设置3、第三步&#xff1a;让百度收录我们自己的文章 三、知识点记录1、注意事项2、可能会出现的问…

vsCode输出控制台中文乱码解决

在tasks.json里的args中添加 "-fexec-charsetGBK", // 处理mingw中文编码问题 "-finput-charsetUTF-8",// 处理mingw中文编码问题