Collection集合及常用功能
Collection集合
1. 集合概述
一般集合如ArrayList,相对于数组而言
数组的长度是固定的,集合的长度是可变的
数组中存储的是同一类型的元素,可以存储基本数据类型数值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般对象多的时候,使用集合进行存储
2. 集合框架
集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map,这篇文章讲的主要是单列结合Collection。
Collection:Collection是单列集合的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set。其中,List的特点是元素有序、元素可重复。Set的特点是元素无序,而且不可重复。List接口的主要实现类有java.util.ArrayList和java.util.LinkedList,Set接口的主要实现类有java.util.HashSet和java.util.TreeSet。
<ignore_js_op>
3. Collection集合常用功能
3.1 共性的方法有七个,注意:没有索引index,共性方法中没有索引作为参数,要循环的话,用迭代器
public boolean add(E e); 把给定的对象添加到当前集合中
public boolean remove(E e); 把给定的对象在当前集合中删除
public boolean contains(E e); 判断当前集合中是否包含给定的对象
public boolean isEmpty(); 判断当前的集合是否为空
public int size(); 返回当前集合中元素的个数
public Object[] toArray(); 把集合中的元素,存储到数组中
public void clear(); 清空集合中所有的元素
我们写一个代码,把上面的方法都用一下
public static void main(String[] args) {
//创建集合对象,可以使用多态
Collection<String> stars = new ArrayList<>();
//刚创建时,里面什么都没有,打印出来的是一对中括号[]
System.out.println(stars); //[]
//1. public boolean add(E e); 把给定的对象添加到当前集合中
stars.add("周杰伦");
stars.add("张国荣");
stars.add("陈百强");
//这时候把stars打印出来就有东西了
System.out.println(stars); //[周杰伦, 张国荣, 陈百强]
//2. public boolean remove(E e); 把给定的对象在当前集合中删除
boolean b1 = stars.remove("张国荣");
System.out.println(b1); // true
System.out.println(stars); //[周杰伦, 陈百强]
//3. public boolean contains(E e); 判断当前集合中是否包含给定的对象
boolean b2 = stars.contains("张国荣");
System.out.println(b2); //false,代表对象已删除成功
//4. public boolean isEmpty(); 判断当前的集合是否为空,真的空就返回true
boolean b3 = stars.isEmpty();
System.out.println(b3); //false
//5. public int size(); 返回当前集合中元素的个数
int size = stars.size();
System.out.println(size); //2
//6. public Object[] toArray(); 把集合中的元素,存储到数组中
Object[] arr = stars.toArray();
for (int i = 0; i < arr.length; i++) {
System.out.println(arr); //周杰伦 陈百强
}
//7. public void clear(); 清空集合中所有的元素
stars.clear();
//看看是不是真的清空了
System.out.println(stars.isEmpty()); //true
}
由于这七个方法是共性的方法,所以我们把Collection<String> stars = new ArrayList<>();的右边的ArrayList改成LinkedList、Vector、HashSet…等等都是可以的,因为这七个方法是通用的方法。
更多免费技术资料可关注:annalin1203
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架