当前位置: 首页 > news >正文

集合-单列集合(Collection)

List系列集合:添加的元素是有序、可重复、有索引的。

Set系列集合:添加的元素是无序、不重复、无索引的。

代码:

public class A01_CollectionDemo1 {public static void main(String[] args) {/**  注意点:Collection是一个接口,我们不能直接创建他的对象。所以,为了学习他的方法,只能创建他实现类的对象实现类:ArrayList*///目的:为了学习Collection接口里的方法Collection<String> coll = new ArrayList<>();//1.添加元素coll.add("aaa");coll.add("bbb");coll.add("ccc");System.out.println(coll);//2..清空//coll.clear();//System.out.println(coll);//3.删除System.out.println(coll.remove("aaa"));System.out.println(coll);//4.判断元素是否包含System.out.println(coll.contains("bbb"));//5.判断集合是否为空System.out.println(coll.isEmpty());//6.返回集合长度System.out.println(coll.size());}
}

细节:

1.添加元素:

  细节1:如果我们要往List系列集合中添加数据,那么方法永远返回true,因为List系列是允许元素重复的。

  细节2:如果我们要往List系列集合中添加数据,如果当前添加的元素不存在,方法返回true,表示添加成功;如果当前要添加的元素已经存在,方法返回false,表示添加失败。因为Set系列的集合不允许重复。

2.删除:

细节1:因为Collection 里面定义的是共性的方法,所以此时不能通过索引进行删除。只能通过元素的对象进行删除。

细节2:方法会有一个布尔类型的返回值,删除成功返回true,删除失败返回false。如果要删除的元素不存在,就会删除失败。

3.判断元素是否包含

细节:底层是依赖equals方法进行判断是否存在的。所以,如果集合中存储的是自定义对象,也想通过contains方法来判断是否包含,那么在javabean类中,一定要重写equals方法。

public class Student {private String name;private int age;public Student(String name) {this.name = name;}public Student(int age) {this.age = age;}public Student(String name,int age){this.name = name;this.age = age;}@Overridepublic boolean equals(Object o) {if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return age == student.age && Objects.equals(name, student.name);}}
public class A02_CollectionDemo2 {public static void main(String[] args) {//1.创建集合的对象Collection<Student> coll = new ArrayList<>();//2.创建三个学生对象Student s1 = new Student("zhangsan", 24);Student s2 = new Student("lis", 25);Student s3 = new Student("wangwu", 26);//3.添加coll.add(s1);coll.add(s2);coll.add(s3);//4.判断集合中某一个学生对象是否包含//因为contains,方法在底层依赖equals方法判断对象是否一一致的。//如果存的是自定义对象,没有重写equals方法,那么默认使用object类中的equals方法进行判断,而object 类中equals方法,依赖地址值进行判断。//需求:如果同姓名和同年龄,就认为是同一 一个学生。//所以,需要在自定义的Javabean类中,重写equals方法就可以了Student s4 = new Student("zhangsan",24);System.out.println(coll.contains(s4));//如果Student中没有equals方法就会返回false}
}
http://www.xdnf.cn/news/1415629.html

相关文章:

  • Docker中使用Compose配置现有网络
  • Ubuntu 中复制粘贴快捷键
  • LeeCode 37. 解数独
  • 【嵌入式】【电机控制】基础知识列表
  • PS自由变换
  • Dreamore AI-解读并描绘你的梦境
  • ARM裸机开发(基础汇编指令)Day02
  • 【AI智能体】LLM记账智能体+MCP服务-实现步骤与效果展示
  • 分布式锁和分布式事务
  • 使用yt-dlp下载网页视频
  • 国内大型银行数据模型实践案例
  • 2025年跨领域职业发展证书选择指南
  • 漫谈《数字图像处理》之基函数与基图像
  • Linux wlan 之网络问题定位分析 实例一
  • 面向对象中—类
  • 「数据获取」《中国工会统计年鉴》(1991-2013)(获取方式看绑定的资源)
  • EtherCAT主站IGH-- 50 -- 搭建xenomai系统及自己的IGH主站遇见的BUG
  • Android Studio 9.png制作
  • Java与分布式系统的集成与实现:从基础到应用!
  • Linex进程管理
  • Unity核心概念②:帧、生命周期函数
  • 【开题答辩全过程】以 基于微信小程序的教学辅助系统 为例,包含答辩的问题和答案
  • SAP报工与收货的区别(来自deepseek)
  • Library cache lock常见案例分析(二)
  • 技能补全之Python操作MongoDB
  • 基于FOA与BP神经网络分类模型的特征选择方法研究(Python实现)
  • 订单后台管理系统-day05用户模块查看与删除
  • Kubernetes 存储
  • 【语法】C++的异常
  • IIC接口的mpu6050六轴模块(8针脚)引脚使用说明