Java集合框架之Collection接口详解
发布时间 - 2026-01-10 22:01:51 点击率:次Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架。Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。

Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。
可以看到Collection并没有直接实现类,而是提供更具体的子接口实现。通过查询API,可以总结出Collection的基本功能。
1、添加
boolean add(E e):添加一个元素
boolean addAll(Collection<? extends E> c):添加一个集合的元素
示例代码
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo1 {
public static void main(String[] args) {
Collection collection1 = new ArrayList(); // Collection是接口,实例化其子类
collection1.add("红楼梦");
collection1.add("三国演义");
System.out.println(collection1);
Collection collection2 = new ArrayList();
collection2.add("西游记");
collection2.add("水浒传");
collection1.add(collection2);
System.out.println(collection1);
}
}
输出结果:
[红楼梦, 三国演义]
[红楼梦, 三国演义, [西游记, 水浒传]]
2、删除
void clear():清空集合中的所有元素
boolean remove(Object o):移除指定的元素
boolean removeAll(Collection<?> c):移除一个集合的元素
示例代码
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo2 {
public static void main(String[] args) {
Collection collection1 = new ArrayList(); // Collection是接口,实例化其子类
collection1.add("红楼梦");
collection1.add("三国演义");
collection1.add("西游记");
collection1.add("水浒传");
System.out.println("初始状态:" + collection1);
boolean b1 = collection1.remove("红楼梦");
System.out.println("是否移除了元素:" + b1);
System.out.println("移除一个元素:" + collection1);
System.out.println();
Collection collection2 = new ArrayList();
collection2.add("三国演义");
collection2.add("西游记");
collection2.add("平凡的世界");
boolean b2 = collection1.removeAll(collection2); // 移除两个集合的交集,只要有一个元素被移除了,就返回true
System.out.println("移除一个集合:" + collection1);
System.out.println("是否移除了元素:" + b2);
System.out.println();
Collection collection3 = new ArrayList();
collection3.add("平凡的世界");
collection3.add("围城");
boolean b3 = collection1.removeAll(collection3);// 移除两个集合的交集,只要有一个元素被移除了,就返回true
System.out.println("移除一个集合:" + collection1);
System.out.println("是否移除了元素:" + b3);
System.out.println();
collection1.clear();
System.out.println("清除集合中的所有元素:" + collection1);
}
}
输出结果
初始状态:[红楼梦, 三国演义, 西游记, 水浒传]
是否移除了元素:true
移除一个元素:[三国演义, 西游记, 水浒传]
移除一个集合:[水浒传]
是否移除了元素:true
移除一个集合:[水浒传]
是否移除了元素:false
清除集合中的所有元素:[]
3、判断
boolean contains(Object o):判断集合是否包含指定元素
boolean containsAll(Collection<?> c):判断集合是否包含指定的集合元素
boolean isEmpty():判断集合是否为空
示例代码
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo3 {
public static void main(String[] args) {
Collection collection1 = new ArrayList(); // Collection是接口,实例化其子类
collection1.add("红楼梦");
collection1.add("三国演义");
collection1.add("西游记");
collection1.add("水浒传");
System.out.println("是否包含红楼梦:" + collection1.contains("红楼梦"));
Collection collection2 = new ArrayList();
collection2.add("三国演义");
collection2.add("西游记");
collection2.add("平凡的世界");
System.out.println("是否包含一个集合中元素:" + collection1.containsAll(collection2)); // 包含所有才包含
System.out.println("集合是否为空:" + collection1.isEmpty());
}
}
输出结果
是否包含红楼梦:true
是否包含一个集合中元素:false
集合是否为空:false
4、获取长度
int size():获取集合中元素的个数
示例代码
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo4 {
public static void main(String[] args) {
Collection collection = new ArrayList(); // Collection是接口,实例化其子类
collection.add("红楼梦");
collection.add("三国演义");
collection.add("西游记");
collection.add("水浒传");
System.out.println("元素个数:" + collection.size());
}
}
输出结果
元素个数:4
5、交集
boolean retainAll(Collection<?> c):保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。换句话说,移除此 collection 中未包含在指定 collection 中的所有元素。
示例代码
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo5 {
public static void main(String[] args) {
Collection collection1 = new ArrayList(); // Collection是接口,实例化其子类
collection1.add("红楼梦");
collection1.add("三国演义");
collection1.add("西游记");
collection1.add("水浒传");
Collection collection2 = new ArrayList();
collection2.add("西游记");
collection2.add("水浒传");
System.out.println(collection1.retainAll(collection2));
System.out.println("collection1:" + collection1);
System.out.println("collection2:" + collection2);
Collection collection3 = new ArrayList();
collection3.add("西游记");
collection3.add("平凡的世界");
System.out.println(collection1.retainAll(collection3));
System.out.println("collection1: " + collection1);
System.out.println("collection2: " + collection2);
}
}
输出结果
true
collection1:[西游记, 水浒传]
collection2:[西游记, 水浒传]
true
collection1: [西游记]
collection2: [西游记, 水浒传]
从上面结果分析得知,collection1集合与collection2集合做交集运算,最后的结果保留在collection1中,而collection2中的元素保持不变。
6、集合转数组
Object[] toArray():集合转数组
示例代码
package collection;
import java.util.ArrayList;
import java.util.Collection;
public class CollectionDemo6 {
public static void main(String[] args) {
Collection collection = new ArrayList(); // Collection是接口,实例化其子类
collection.add("红楼梦");
collection.add("三国演义");
collection.add("西游记");
collection.add("水浒传");
Object[] objects = collection.toArray();
for (Object object : objects) {
System.out.println(object);
}
}
}
输出结果:
红楼梦
三国演义
西游记
水浒传
7、遍历
Iterator<E> iterator():返回在此 collection 的元素上进行迭代的迭代器,迭代器是集合特有的遍历方式
其中Iterator是一个接口,其有3个方法
boolean hasNext():如果仍有元素可以迭代,则返回 true。
E next():返回迭代的下一个元素,并移动到下一个位置。
void remove():从迭代器指向的 collection 中移除迭代器返回的最后一个元素
示例代码
package collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionDemo7 {
public static void main(String[] args) {
Collection collection = new ArrayList(); // Collection是接口,实例化其子类
collection.add("红楼梦");
collection.add("三国演义");
collection.add("西游记");
collection.add("水浒传");
Iterator it = collection.iterator();
while (it.hasNext()) {
Object object = it.next();
System.out.println(object);
}
it.remove(); // 如果未调用next方法,则会抛出IllegalStateException异常
System.out.println(collection);
}
}
输出结果:
红楼梦
三国演义
西游记
水浒传
[红楼梦, 三国演义, 西游记]
至此,Collection接口的方法介绍完毕。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Java
# 集合框架
# Collection
# java集合框架的体系结构详细说明
# JAVA集合框架Map特性及实例解析
# 深入理解Java基础中的集合框架
# 水浒传
# 西游记
# 红楼梦
# 移除
# 子类
# 迭代
# 为空
# 遍历
# 是一个
# 类库
# 转数
# 包含了
# 只要有
# 在此
# 这两个
# 数据结构
# 工具包
# 可以看到
# 而出
# 可选
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在Windows服务器上快速搭建网站?
如何将凡科建站内容保存为本地文件?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
JS中对数组元素进行增删改移的方法总结
想要更高端的建设网站,这些原则一定要坚持!
Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
如何用免费手机建站系统零基础打造专业网站?
如何快速搭建高效WAP手机网站?
Laravel怎么连接多个数据库_Laravel多数据库连接配置
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
在线制作视频的网站有哪些,电脑如何制作视频短片?
Python3.6正式版新特性预览
Java遍历集合的三种方式
高端网站建设与定制开发一站式解决方案 中企动力
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
如何打造高效商业网站?建站目的决定转化率
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
如何用AI帮你把自己的生活经历写成一个有趣的故事?
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
零服务器AI建站解决方案:快速部署与云端平台低成本实践
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
zabbix利用python脚本发送报警邮件的方法
Laravel如何创建自定义Facades?(详细步骤)
Android滚轮选择时间控件使用详解
Thinkphp 中 distinct 的用法解析
Laravel如何处理CORS跨域请求?(配置示例)
*服务器网站为何频现安全漏洞?
高性价比服务器租赁——企业级配置与24小时运维服务
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】
Laravel如何实现API版本控制_Laravel版本化API设计方案
Laravel如何使用Eloquent进行子查询
长沙做网站要多少钱,长沙国安网络怎么样?
实例解析Array和String方法
Laravel如何自定义错误页面(404, 500)?(代码示例)
浅谈redis在项目中的应用
Laravel安装步骤详细教程_Laravel环境搭建指南
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
Python文件操作最佳实践_稳定性说明【指导】
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
手机网站制作与建设方案,手机网站如何建设?
如何快速生成橙子建站落地页链接?

