恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

集合初识和用法——collection(Java)

  • 首页
  • 资讯中心
  • /
  • 集合初识和用法——collection(Java)

相关资讯

Windows 10运行Android应用完整指南:WSA-Windows-10逆向移植项目详解 2026/8/2 17:55:53
构建跨平台Nintendo Switch模拟器的技术架构解析 2026/8/2 17:55:53
标注公司接南京话项目,标注员不会标方言词汇 2026/8/2 2:13:15

最新资讯

抗辐射QDR-II+ SRAM获QML Class V认证:高速存储如何突破航天可靠性门槛
蓝桥杯C++中stack容器适配器的底层原理与避坑指南
具身智能TVA-VLA参数高效迁移新方案
面向具身智能的TVA-VLA人机协作与安全决策
Pipecat 是 Daily.co 团队开源的 Python 框架,用于构建实时语音和多模态对话 AI 应用‌
C++函数模板:从泛型编程到STL应用,提升代码复用与类型安全

今日推荐

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用
LeetCode Hot100(51-60)算法精解与面试技巧
CRC校验实战:从模2除法到HJ212协议排错

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

集合初识和用法——collection(Java)

发布时间:2026/8/27 19:44:55
集合初识和用法——collection(Java) Collection接口继承了Iterable接口能够被foreach使用是可迭代的。下面介绍它已实现的子接口在API中它的已知子类和实现的类有很多目前在这里只介绍几个它常用的子接口和collection的用法。List接口有序的collection也称为序列。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引在列表中的位置访问元素提供角标并搜索列表中的元素。列表允许重复的元素、列表是一维数据、允许null提供了特殊的迭代器称为ListIterator除了允许 Iterator 接口提供的正常操作外该迭代器还允许元素插入和替换以及双向访问。还提供了一个方法来获取从列表中指定位置开始的列表迭代器。Set接口一个不包含重复元素的 collection、无序、没有角标、某些 set 实现对其所包含的元素有所限制。例如某些实现禁止 null 元素而某些则对其元素的类型所有限制。Queue接口在处理元素前用于保存元素的 collection。除了基本的collection操作外队列还提供其他的插入、提取和检查操作。每个方法都存在两种形式一种抛出异常操作失败时另一种返回一个特殊值null 或 false具体取决于操作。插入操作的后一种形式是用于专门为有容量限制的 Queue 实现设计的在大多数实现中插入操作不会失败。队列通常但并非一定以 FIFO先进先出的方式排序各个元素。不过优先级队列和 LIFO 队列或堆栈例外前者根据提供的比较器或元素的自然顺序对元素进行排序后者按 LIFO后进先出的方式对元素进行排序。无论使用哪种排序方式队列的头都是调用remove()或poll()所移除的元素。在 FIFO 队列中所有的新元素都插入队列的末尾。其他种类的队列可能使用不同的元素放置规则。每个 Queue 实现必须指定其顺序属性。Queue 实现通常不允许插入 null 元素尽管某些实现如LinkedList并不禁止插入 null。即使在允许 null 的实现中也不应该将 null 插入到 Queue 中因为 null 也用作 poll 方法的一个特殊返回值表明队列不包含元素。Deque接口一个线性 collection支持在两端插入和移除元素。名称deque是“double ended queue双端队列”的缩写大多数 Deque 实现对于它们能够包含的元素数没有固定限制但此接口既支持有容量限制的双端队列也支持没有固定大小限制的双端队列。此接口扩展了Quene接口。在将双端队列用作队列时将得到 FIFO先进先出行为。将元素添加到双端队列的末尾从双端队列的开头移除元素。从 Queue 接口继承的方法完全等效于Deque 方法。虽然 Deque 实现没有严格要求禁止插入 null 元素但建议最好这样做。建议任何事实上允许 null 元素的 Deque 实现用户最好不要利用插入 null 的功能。这是因为各种方法会将 null 用作特殊的返回值来指示双端队列为空。collection的方法collection方法的测试和使用示例import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class Main { public static void main(String[] args) { //E泛型表示该集合存储的是什么类型的元素 //collection是接口不能创建对象只能创建其子类的对象然后定义引用指向子类的对象 CollectionInteger collnew ArrayListInteger(); //ArrayList是collection接口的子类所以可以创建一个该类的对象父类引用指向它 for(int i1;i10;i){ coll.add(i); //add方法添加单个元素 } System.out.println(coll.toString()); // 打印结果 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]按顺序输出 //再创建一个集合 CollectionInteger coll2new ArrayListInteger(); for(int i11;i20;i){ coll2.add(i); } System.out.println(coll2.toString()); //打印coll2的结果 [11, 12, 13, 14, 15, 16, 17, 18, 19, 20] coll.addAll(coll2); //addAll方法将coll2中的集合全部添加到coll集合中 System.out.println(coll); //打印结果 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] //contains方法判断该集合中是否包含某个元素 System.out.println(coll.contains(100)); //结果 false System.out.println(coll.contains(10)); //结果 true //remove方法移出某集合中的某个元素返回的类型是Boolean类型 System.out.println(coll2.remove(11)); //结果 true System.out.println(coll2.remove(100)); // 结果 false //测试添加的位置在末尾添加不具有自动排序的功能 coll2.add(66); coll2.add(66); System.out.println(coll2); //结果 [12, 13, 14, 15, 16, 17, 18, 19, 20, 66, 1] //containsAll方法判断该集合是否包含另一个集合返回类型是Boolean类型 System.out.println(coll.containsAll(coll2)); //结果 false //equals方法比较两个对象的地址是否相同返回类型是Boolean类型 System.out.println(coll.equals(coll2)); //结果 false //isEmpty方法是判空操作判断该集合是否是一个空集合返回类型仍是Boolean类型 System.out.println(coll.isEmpty()); //结果 false //size方法获得的是集合的长度返回类型为int类型。就如获取数组的长度调用的是length属性获取字符串的长度调用的是length方法 System.out.println(coll.size()); //结果 20 //retainAll保留两个集合共有的元素也就是求交集 coll.retainAll(coll2); System.out.println(coll); //结果 [1, 12, 13, 14, 15, 16, 17, 18, 19, 20] //遍历集合的方法之一 foreach for(Integer number:coll){ System.out.println(number); } System.out.println(); //遍历集合的方法之二 迭代器Iterator IteratorInteger iteratorcoll.iterator(); /* 迭代器是集合中内置的一个对象该对象主要用来访问集合当前状态下的元素 * hasNext() 是否有下一个 * next() 取下一个 * 这两个方法是IteratorE中的方法collection中并没有 * */ while(iterator.hasNext()){ //从头之前开始遍历如果该集合的下一个元素存在 System.out.println(iterator.next()); //则取下一个并打印 } coll.clear(); //清除该集合对象中所有的元素 System.out.println(coll); //结果 [] } }

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号