Java集合(一)集合概述及Collection接口
数组就是一种容器,可以在其中放置对象或基本类型数据
数组的优势:是一种简单的线性序列,可以快速地访问数组元素,效率高。如果从效率和类型检查的角度讲,数组是最好的。
数组的劣势:不灵活。容量需事先定义好,不能随着需求的变化而扩容。比如:我们在一个用户管理系统中,要把今天注册的所有用户取出来,那么这样的用户有多少?我们在写程序时是无法确定的。因此在这里就不能使用数组
Java中的集合就像一个容器,专门用来存储Java对象(实际上是对象的引用,但习惯上称为对象),这些对象可以是任意的数据类型,并且长度可变。其中,这些集合类都位于Java.util包中,在使用时一定要注意导包的问题,否则会出现异常。
集合按照其存储结构可以分为两大类,即单列集合 Colletion 和双列集合 Map,这两种集合的特点具体如下。
1.collection:单列集合的根接口,用于存储一系列符合某种规则的元素。Collecion集合有两个重要的子接口,分别是 List 和 Set。其中,List 集合的特点是元素有序、可重复,Set集合的特点是元素无序并且不可重复。List 接口的主要实现类有 ArrayList 和LinkedList;Set 接口的主要实现类有 HashSet 和 TreeSet。
2.Map::双列集合的根接口,用于存储具有键(Key)、值(Value)映射关系的元素。Map集合中每个元素都包含一对键值,并且 Key 是唯一的,在使用 Map 集合时可以通过指定的 Key 我到对应的 Value。例如根据一个学生的学号就可以找到对应的学生。Map接口的主要实现类有 HashMap 和 TreeMap。
Collection接口是所有单列集合的根接口,因此在Collection中定义了单列集合的一些通用方法:
boolean add() 向集合中添加一个元素
boolean addAll(Collection c) 将指定集合c中午所有元素添加到该集合中
void clear() 删除该集合中的所有元素
boolean remove(Object o) 删除该集合中指定的元素
boolean removeAll(Collection c) 删除该集合中包含指定集合c中的所有元素
boolean isEmpty() 判断该集合是否为空
boolean contains(Object o) 判断该集合中是否包含某个元素
boolean containsAll(Collection c) 判断该集合中是否包含指定集合c中的所有元素
Iterator iterator() 返回该集合的元素上进行迭代的迭代器,用于遍历该集合所有元素
int size() 获取该集合元素个数
Sream<E> stream() 将集合源转换为有序元素对象
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧