文章目录

  • 一、Collection介绍
  • 二、Collection的常用方法 `Collection应知应会`
    • 2.1 调用add()方法增添数据
    • 2.2 调用remove()方法删除指定数据
    • 2.3 调用clear()方法清空数据
    • 2.4 调用contains()方法判断集合中是否存在指定的元素
    • 2.5 调用isEmpty()方法判断集合是否为空
    • 2.6 调用size()方法获取集合的长度
  • 三、Collection的遍历
    • 3.1 普通输出方法输出Collection集合
    • 3.2 forEach语句输出Collection集合
    • 3.3 Iterator迭代器输出Collection集合
      • 3.3.1 Iterator迭代器删除Collection集合指定元素

一、Collection介绍

Java集合体系架构分为Collection和Map两大集合框架,其中Collection是单列集合的顶级接口,它具有单列存储的特点,即一次只能添加一个元素;而Map则是双列集合的顶级接口。Collection作为顶级接口,它拥有三个子接口List,Set和Queue。同时,作为顶级接口它抽取了所有实现类的共有方法。

接下来我们将结合代码来具体学习Collection相关知识。

二、Collection的常用方法 Collection应知应会

Collection作为顶级集合接口,它最常见的实现类是ArrayList,LinkedList,HashSet和TreeSet,作为顶级接口它抽取了所有实现类的共有方法,所有实现Collection接口的实现类均可使用这些方法。例如ArrayList,LinkedList,HashSet和TreeSet均可使用如下共有方法。

方法名 说明
boolean add(E e) 增添数据
boolean remove(Object o) 从集合中移除指定的元素
void clear() 清空集合中的元素
boolean contains(Object o) 判断集合中是否存在指定的元素
boolean isEmpty() 判断集合是否为空
int size() 集合的长度,也就是集合中元素的个数

2.1 调用add()方法增添数据

具体实现类为ArrayList的Collection

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//普通输出System.out.println(collection);}

运行结果:


具体实现类为LinkedList的Collection

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为LinkedListCollection<String> collection=new LinkedList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//普通输出System.out.println(collection);}

运行结果:


具体实现类为HashSet的Collection

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为HashSetCollection<String> collection=new HashSet<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//普通输出System.out.println(collection);}

运行结果:


具体实现类为TreeSet的Collection

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为TreeSetCollection<String> collection=new TreeSet<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//普通输出System.out.println(collection);}

运行结果:


2.2 调用remove()方法删除指定数据

接下来我们以具体实现类为ArrayList的Collection来举例

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");collection.add("lisi");//调用remove()方法删除指定数据collection.remove("lisi");//普通输出System.out.println(collection);}

运行结果:(从运行结果中我们看到调用remove()方法只能删除第一个值为lisi的对象,并且当删除lisi之后,后面三个元素wangwu,zhaoliu和lisi位置会左移,这为我们未来删除数据时注意索引的位置,防止漏删)


2.3 调用clear()方法清空数据

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//调用clear()方法清空数据collection.clear();//普通输出System.out.println(collection);}

运行结果:


2.4 调用contains()方法判断集合中是否存在指定的元素

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//调用contains()方法判断集合中是否存在指定的元素boolean zhangsan = collection.contains("zhangsan");System.out.println("集合中存在zhangsan此元素吗?"+zhangsan);boolean aoao = collection.contains("aoao");System.out.println("集合中存在aoao此元素吗?"+aoao);}

运行结果:


2.5 调用isEmpty()方法判断集合是否为空

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//调用isEmpty()方法判断集合是否为空boolean empty = collection.isEmpty();System.out.println("此集合为空吗?"+empty);//调用clear()方法清空集合元素collection.clear();//调用isEmpty()方法判断集合是否为空boolean empty1 = collection.isEmpty();System.out.println("此集合为空吗?"+empty1);}

运行结果:


2.6 调用size()方法获取集合的长度

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//调用size()方法获取集合的长度int size = collection.size();System.out.println("集合的长度为:"+size);//调用clear()方法清空集合元素collection.clear();//调用size()方法获取集合的长度int size1 = collection.size();System.out.println("集合的长度为:"+size1);}

运行结果:


三、Collection的遍历

由于共有方法中并没有带索引的方法,因此Collection无法使用普通for循环来遍历集合,只能使用普通输出方法,Iterator迭代器遍历和forEach语句遍历集合数据。

3.1 普通输出方法输出Collection集合

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//普通输出方法输出Collection集合System.out.println(collection);}

运行结果:


3.2 forEach语句输出Collection集合

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//forEach语句输出Collection集合,Collection对象的数据类型为String,s相当于collectionfor (String s : collection) {System.out.println(s);}}

运行结果:


3.3 Iterator迭代器输出Collection集合

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("zhaoliu");//Iterator迭代器输出Collection集合//由于Collection的数据类型为String,因此Iterator的数据类型也为StringIterator<String> iterator=collection.iterator();//iterator.hasNext()的作用是判断当前位置是否存在元素,若存在元素则为true,否则为falsewhile(iterator.hasNext()){//iterator.next()的作用是获取当前位置元素,之后指向下一个位置System.out.println(iterator.next());}}

运行结果:


3.3.1 Iterator迭代器删除Collection集合指定元素

public static void main(String[] args) {//创建一个Collection对象,并规定其数据类型为String,指明其实现类为ArrayListCollection<String> collection=new ArrayList<>();//调用add()方法增添数据collection.add("zhangsan");collection.add("lisi");collection.add("wangwu");collection.add("wangwu");collection.add("zhaoliu");collection.add("wangwu");//Iterator迭代器输出Collection集合//由于Collection的数据类型为String,因此Iterator的数据类型也为StringIterator<String> iterator=collection.iterator();//iterator.hasNext()的作用是判断当前位置是否存在元素,若存在元素则为true,否则为falsewhile(iterator.hasNext()){//iterator.next()的作用是获取当前位置元素,之后指向下一个位置if(iterator.next().equals("wangwu")){//删除当前元素iterator.remove();}}//forEach语句输出Collection集合for (String s : collection) {System.out.println(s);}}

运行结果:


OK!!!Collection介绍完毕!!!

Java基础之Collection相关推荐

  1. 【CXY】JAVA基础 之 Collection

    概述: 1.Collection java集合框架的根级接口(root interface) 2.常用子接口:List.Set.Queue,注意map是自成体系的 3.方法:新增.包含.遍历.交集.判 ...

  2. Java基础学习-Collection体系结构和迭代测试

    package Collection;import java.util.ArrayList; import java.util.Collection; import java.util.Iterato ...

  3. java基础---集合collection的方法介绍

    package com.henu;import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; / ...

  4. day15 java基础(Collection类,List类,Object类)

    -----------------------------------day15 总结------------------------------------------------- 1:对象数组( ...

  5. Java基础之Collection和Map

    List:实现了collection接口,list可以重复,有顺序 实现方式:3种,分别为:ArrayList,LinkedList,Vector. 三者的比较: ArrayList底层是一个动态数组 ...

  6. java基础 - 集合Collection

    1. 1-50的随机数 用集合实现 生成50个[10,50]之间的随机数,然后按数字从小到大顺序输出.(这次用Map做) 输出格式 数字:出现次数 1 //用ArraryList 集合来实现 2 3 ...

  7. java,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  8. 【CXY】JAVA基础 之 Collections

    概述: 1.Collections(注意不是Collection,而是Collections,多了一个s) 2.它是一个集合工具类 3.方法分类:常规操作(查找,最大,最小等).排序.线程安全(同步) ...

  9. 【CXY】JAVA基础 之 Set

    概述: 1.Set不允许重复数据,判断重复标准:equals方法 2.HashSet 1.无序(序号的序),允许存在null 2.hashCode值决定它在HashSet中的位置,通过hashCode ...

最新文章

  1. 在Ubuntu 16.04.3 LTS上安装Go 1.10
  2. 网络攻城狮怎么看待TCP/IP协议与UDP协议?
  3. 设置cookie和查找cookie的方法
  4. 【Android RTMP】音频数据采集编码 ( FAAC 编码器编码 AAC 音频采样数据 | 封装 RTMP 音频数据头 | 设置 AAC 音频数据类型 | 封装 RTMP 数据包 )
  5. Ansible自动化运维工具介绍
  6. 鉴机识变,面向未来|RocketMQ Summit 2022 即将来袭
  7. elisa标准曲线怎么做_如何合理绘制ELISA标准曲线要点
  8. qt同时连接oracle和mysql_QT连接Oracle和Mysql的详细步骤,已成功~!
  9. linux nginx完全卸载
  10. oracle 实例死掉,Oracle 监听莫名死掉
  11. 长三角,也开始“东北化”了
  12. 推荐JVM的9款编程语言杀手开发利器
  13. 两空间异面直线公垂线及交点坐标的求解过程
  14. hive case when语法_SQL中CASE表达式的妙用
  15. PHP curl get post通用类
  16. Nginx系列(3):Nginx配置文件nginx.conf中文详解
  17. java毕设项目开源啦,springboot+vue+springcloud的家庭理财系统
  18. 计算机二级数据库题库百度云,计算机二级数据库试题及答案
  19. Python Counter函数
  20. locale 国际化配置(springboot)

热门文章

  1. Docker占满磁盘空间的解决办法
  2. 黑盒测试用例设计方法一(等价类划分、边界值分析)
  3. 基于JEECG-BOOT制作“左树右表”交互页面
  4. 线性代数04 行列式的性质:举一反三,从三个到十个
  5. 小程序页面之间数据传递的五种方法
  6. java 读取pdf乱码_java itextpdf 5.5.6读取pdf中文文档乱码怎么解决
  7. VMware安装Win2000安装程序闪退重启等问题的解决方法
  8. 20-Linux系统进程与计划任务相关命令详解整合
  9. 人、狼、羊、草过河的小游戏Python实现
  10. 达梦数据库中如何删除重复数据