Java—集合Collection(一)

在这里插入图片描述


Java—集合Collection(一)

  • 一、Collection集合
    • 1、方法add、addAll
    • 2、声明集合
      • 特别注意1:添加对象时需要创建对象类
    • 3、总结
    • 4、判断方法
      • 4.1、总结
    • 5、删除
    • 6、总结
    • 7、集合的其他方法
    • 8、所有代码演练

存放单个数据内容,声明一个变量,
存放多个类型相同的数据内容,声明一个一维数组,
存放多个类型不同的数据内容,则创建一个对象,
存放多个类型相同的对象数据,创建一个对象数组,
多个类型不同的对象数据时,则准备一个集合。

集合框架顶层是:Collection和Map
Collection集合存取是:单个元素
Map集合中存取是:单对元素

一、Collection集合

是List、Queue以及Set接口的父类接口

1、方法add、addAll

boolean add(E e):集合内添加对象;返回True或者False
boolean addAll(Collection<? extends E> c):将集合c所有元素添加到集合内;返回True或者False

2、声明集合

package com.company.collection;import com.company.collection.Persion;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo {public static void main(String[] args) {Collection c1 = new ArrayList();   //创建集合对象System.out.println("集合c1:"+c1);  //集合c1:[]//添加Stringc1.add(new String("hello"));System.out.println("集合c1:"+c1);   //集合c1:[hello]c1.add("collection");System.out.println("集合c1:"+c1);    //集合c1:[hello, collection]//添加Intergerc1.add(Integer.valueOf(77));c1.add(88);System.out.println("集合c1:"+c1);  //集合c1:[hello, collection, 77, 88]//添加对象c1.add(new Persion("kobe",18));System.out.println("集合c1:"+c1);   //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]Collection c2 = new ArrayList();c2.add(66);c2.add("hello java");System.out.println(c2);  //[66, hello java]//addAllboolean b=c1.addAll(c2);System.out.println("添加元素是否成功"+b);  //添加元素是否成功trueSystem.out.println("集合c1:"+c1);    //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java]boolean d=c1.add(c2);System.out.println("添加元素是否成功"+d);  //添加元素是否成功trueSystem.out.println("集合c1:"+c1);      //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]}
}

特别注意1:添加对象时需要创建对象类

添加对象时需要创建对象类,并定义构造方法,不然输出的结果是对象地址
在这里插入图片描述
代码展示如下:

package com.company.collection;
import com.company.collection.Persion1;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo1 {public static void main(String[] args) {Collection c1 = new ArrayList();System.out.println("集合c1:"+c1); //集合c1:[]//Stringc1.add(new String("hello"));System.out.println("集合c1:"+c1);   //集合c1:[hello]c1.add("collection");System.out.println("集合c1:"+c1);//Intergerc1.add(Integer.valueOf(77));c1.add(88);System.out.println("集合c1:"+c1);  //集合c1:[hello, collection, 77, 88]//添加对象c1.add(new Persion1("kobe",18));System.out.println("集合c1:"+c1);   //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]}
}

创建对象类

package com.company.collection;import java.util.Objects;public class Persion1 {private String name;private int age;public Persion1(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

输出结果:

集合c1:[]
集合c1:[hello]
集合c1:[hello, collection]
集合c1:[hello, collection, 77, 88]
集合c1:[hello, collection, 77, 88, com.company.collection.Persion1@1a407d53]

3、总结

集合中添加单个元素或者单个对象,使用add();
集合中添加多个元素,使用addAll();

4、判断方法

boolean contains(Object o):判断集合是否包含指定对象
boolean containsAll(Collection<?> c):判断集合是否包含指定集合内的所有对象

package com.company.collection;import com.company.collection.Persion;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo {public static void main(String[] args) {Collection c1 = new ArrayList();System.out.println("集合c1:"+c1); //集合c1:[]//Stringc1.add(new String("hello"));System.out.println("集合c1:"+c1);   //集合c1:[hello]c1.add("collection");System.out.println("集合c1:"+c1);//Intergerc1.add(Integer.valueOf(77));c1.add(88);System.out.println("集合c1:"+c1);  //集合c1:[hello, collection, 77, 88]//添加对象c1.add(new Persion("kobe",18));System.out.println("集合c1:"+c1);   //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]Collection c2 = new ArrayList();c2.add(66);c2.add("hello java");System.out.println(c2);  //[66, hello java]//addAllboolean b=c1.addAll(c2);System.out.println("添加元素是否成功"+b);  //添加元素是否成功trueSystem.out.println("集合c1:"+c1);    //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java]boolean d=c1.add(c2);System.out.println("添加元素是否成功"+d);  //添加元素是否成功trueSystem.out.println("集合c1:"+c1);      //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]//集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]boolean b1 = c1.contains("hello");System.out.println("是否包含:"+b1);   //是否包含:trueboolean b2 = c1.contains("hello1");System.out.println("是否包含:"+b2);  //是否包含:falseboolean b3 = c1.contains(88);System.out.println("是否包含:"+b3);  //是否包含:trueboolean b4 = c1.contains(99);System.out.println("是否包含:"+b4);  //是否包含:falseboolean b5 = c1.contains(new Persion("kobe",18));System.out.println("是否包含:"+b5);  //是否包含:trueCollection c3=new ArrayList();c3.add(7);System.out.println("c1:"+c1);   //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]System.out.println("c3:"+c3);    //c3:[7]boolean b21 = c1.containsAll(c3);System.out.println("b21:"+b21);     //c3:falsec3.add(88);System.out.println("c3:"+c3);       //c3:[7, 88]boolean b22=c1.containsAll(c3);System.out.println("b22:"+b22);      //b22:falseCollection c4=new ArrayList();c4.add(88);c4.add(66);System.out.println("c4:"+c4);       //c4:[88, 66]boolean b23=c1.containsAll(c4);System.out.println("b23:"+b23);      //b23:trueboolean b24=c1.contains(c4);System.out.println("b24:"+b24);        //b24:falseCollection c5=new ArrayList();c5.add(88);c5.add("good");System.out.println("c5:"+c5);       //c5:[88, good]boolean add1=c1.add(c5);System.out.println("c1:"+c1);          //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java], [88, good]]System.out.println("c1-add-c5:"+add1);   //c1-add-c5:true}
}

4.1、总结

Integer、String对应的java里面就是给重写equals方法,
自定义的类没有重写equals方法。

比较的是集合对象使用contains
比较的是集合的每个元素containsAll

5、删除

boolean remove(Object o):从集合中删除对象
boolean removeAll(Collection<?> c):从集合中删除c集合里的所有对象

6、总结

add(Object):添加的是集合对象
contains(Object):比较的是集合的对象
remove(Object):删除的是集合对象
addAll(collection):添加的是集合的每个元素
containsAll(collection):比较的是集合的每个对象
removeAll(collection):删除集合的每个元素

7、集合的其他方法

clear():清空集合
size():集合的对象个数
isEmpty():判断是否为空
equals(Object o):判断集合是否相等

8、所有代码演练

package com.company.collection;import com.company.collection.Persion;import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;public class CollectionDemo {public static void main(String[] args) {Collection c1 = new ArrayList();System.out.println("集合c1:"+c1); //集合c1:[]//Stringc1.add(new String("hello"));System.out.println("集合c1:"+c1);   //集合c1:[hello]c1.add("collection");System.out.println("集合c1:"+c1);//Intergerc1.add(Integer.valueOf(77));c1.add(88);System.out.println("集合c1:"+c1);  //集合c1:[hello, collection, 77, 88]//添加对象c1.add(new Persion("kobe",18));System.out.println("集合c1:"+c1);   //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}]Collection c2 = new ArrayList();c2.add(66);c2.add("hello java");System.out.println(c2);  //[66, hello java]//addAllboolean b=c1.addAll(c2);System.out.println("添加元素是否成功"+b);  //添加元素是否成功trueSystem.out.println("集合c1:"+c1);    //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java]boolean d=c1.add(c2);System.out.println("添加元素是否成功"+d);  //添加元素是否成功trueSystem.out.println("集合c1:"+c1);      //集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]//集合c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]boolean b1 = c1.contains("hello");System.out.println("是否包含:"+b1);   //是否包含:trueboolean b2 = c1.contains("hello1");System.out.println("是否包含:"+b2);  //是否包含:falseboolean b3 = c1.contains(88);System.out.println("是否包含:"+b3);  //是否包含:trueboolean b4 = c1.contains(99);System.out.println("是否包含:"+b4);  //是否包含:falseboolean b5 = c1.contains(new Persion("kobe",18));System.out.println("是否包含:"+b5);  //是否包含:trueCollection c3=new ArrayList();c3.add(7);System.out.println("c1:"+c1);   //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java]]System.out.println("c3:"+c3);    //c3:[7]boolean b21 = c1.containsAll(c3);System.out.println("b21:"+b21);     //c3:falsec3.add(88);System.out.println("c3:"+c3);       //c3:[7, 88]boolean b22=c1.containsAll(c3);System.out.println("b22:"+b22);      //b22:falseCollection c4=new ArrayList();c4.add(88);c4.add(66);System.out.println("c4:"+c4);       //c4:[88, 66]boolean b23=c1.containsAll(c4);System.out.println("b23:"+b23);      //b23:trueboolean b24=c1.contains(c4);System.out.println("b24:"+b24);        //b24:falseCollection c5=new ArrayList();c5.add(88);c5.add("good");System.out.println("c5:"+c5);       //c5:[88, good]boolean add1=c1.add(c5);System.out.println("c1:"+c1);          //c1:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java], [88, good]]System.out.println("c1-add-c5:"+add1);   //c1-add-c5:trueSystem.out.println("c1集合:"+c1);  //c1集合:[hello, collection, 77, 88, Persion{name='kobe', age=18}, 66, hello java, [66, hello java], [88, good]]//remove删除存在的元素对象boolean remove=c1.remove(66);//删除不存在的元素对象System.out.println("c1-remove,"+remove);  //c1-remove,trueboolean remove1=c1.remove(89);System.out.println("c1-remove,"+remove1);  //c1-remove,falseSystem.out.println("c1集合:"+c1);  //c1集合:[hello, collection, 77, 88, Persion{name='kobe', age=18}, hello java, [66, hello java], [88, good]]//remove 集合对象c1.remove(c2);System.out.println("c1集合:"+c1);  //c1集合:[hello, collection, 77, 88, Persion{name='kobe', age=18}, hello java, [88, good]]System.out.println("-------------------------------------");Collection collection=new ArrayList();collection.add(new Persion("kobe",18));System.out.println("collection"+collection);//        remove=c1.remove(new Persion("kobe",18));
//        System.out.println("c1-remove:"+remove);
//        System.out.println("c1集合:"+c1);System.out.println("------------------removeAll-------------------");System.out.println("c1"+c1);     //c1[hello, collection, 77, 88, Persion{name='kobe', age=18}, hello java, [88, good]]
//        boolean cc1=c1.removeAll(collection);
//        System.out.println("c1-removeAll:"+cc1);
//        System.out.println("c1集合:"+c1);collection.add(29);System.out.println("collection,"+collection);  //collection,[Persion{name='kobe', age=18}, 29]boolean cc1=c1.removeAll(collection);System.out.println("c1-removeAll:"+cc1);   //c1-removeAll:true  只要有一个元素被remove则为trueSystem.out.println("c1集合:"+c1);   //c1集合:[hello, collection, 77, 88, hello java, [88, good]]Collection collection1=new ArrayList();collection1.add("yyy");b3=c1.removeAll(collection1);System.out.println("b3-remove:"+b3);   //b3-remove:falseSystem.out.println("集合的长度:"+c1.size());  //集合的长度:6System.out.println(0==c1.size() ? "是一个空集合" : "集合不为空");  //集合不为空System.out.println(c1.isEmpty() ? "是一个空集合" : "集合不为空");  //集合不为空// equalsCollection co1 = new ArrayList();co1.add(1);co1.add("test");Collection co2 = new ArrayList();co2.add(1);co2.add("test");System.out.println("co1:"+co1);     //[1, test]System.out.println("co2:"+co2);     //[1, test]boolean bb2 = co1.equals(co2);System.out.println(bb2);            //true//集合转换为数组Object[] objects = co1.toArray();// 打印数组中的所有元素System.out.println("数组中的元素有:" + Arrays.toString(objects)); //[1, test]// 实现数组类型到集合类型的转换Collection objects1 = Arrays.asList(objects);System.out.println("集合中的元素有:" + objects1);//[1, test]}
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16561.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

netcat一键开始瑞士军刀模式(KALI工具系列六)

目录 1、KALI LINUX简介 2、netcat工具简介 3、在KALI中使用netcat 3.1 目标主机IP&#xff08;win&#xff09; 3.2 KALI的IP 4、命令示例 4.1 测试某IP的端口是否打开 4.2 TCP扫描 4.3 UDP扫描 4.4 端口刺探 4.5 直接扫描 5、即时通信 5.1 单击对话互联 5.2 传…

新能源锂电池行业创业的财富方案,锂电池回收高阶课

课程下载&#xff1a;https://download.csdn.net/download/m0_66047725/89292234 更多资源下载&#xff1a;关注我。 实战攻略 12年锂电池回收行业经验与坑全收录 课程内容&#xff1a; 001-课程介绍.mp4 002-锂电池的全种类认识.mp4 003-废品锂电池到级片粉末价值估算,mp…

Go微服务: Http服务注册在Consul的示例(非Go-Micro)

概述 现在&#xff0c;我们使用consul客户端的api来把Http服务注册到consul上&#xff0c;非Go-Micro的形式其实&#xff0c;consul官方提供了对应的接口调用来实现&#xff0c;golang中的consul/api包对其进行了封装我们使用consul/api来进行展示 目录结构 gitee.com/go-mi…

设计模式7——建造者模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 建造者模式&#xff08;Builde…

VMware ESXi 7.0 U3q 发布 - 领先的裸机 Hypervisor

VMware ESXi 7.0 U3q 发布 - 领先的裸机 Hypervisor VMware ESXi 7.0 Update 3 Standard & All Custom Image for ESXi 7.0U3 Install CD 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出…

3小时-入门短视频创作:短视频创作入门必修(15节视频课)

课程目录 1、先导课.mp4 2、建立视听思维.mp4 3、口语化.mp4 4、具象化.mp4 5、建立选题思维.mp4 6、2个小白好上手的选题技巧.mp4 7、建立开场思维.mp4 8、3个口播视频方能开场套路.mp4 9、建立脚本结构思维.mp4 10、爆款口指的3大结构.mp4 11、建立标题思维.mp4 …

https为何安全?

HTTPS&#xff08;超文本传输安全协议&#xff09;是一种用于安全通信的网络协议&#xff0c;它在HTTP协议的基础上通过SSL/TLS&#xff08;安全套接层/传输层安全&#xff09;协议来加密数据&#xff0c;以保护网络数据的传输安全。 TLS/SSL 基础概念 概念源自百度百科&…

内存的基本知识与连续分配管理

目录 一. 内存的基础知识1.1. 什么是内存1.2 指令的工作原理1.2.1 装入的三种方式 - 绝对装入1.2.2 可重定位装入1.2.3 动态重定位装入1.3 从写程序到程序运行 二. 基本内存管理的概念三. 覆盖与交换3.1 覆盖技术3.2 交换技术 四. 连续分配管理方式4.1 单一连续分配4.2 固定分区…

【全开源】知识答题系统源码小程序(FastAdmin+ThinkPHP+Unipp)

打造智慧问答的基石 一、引言&#xff1a;知识答题系统的时代意义 在信息爆炸的时代&#xff0c;知识答题系统源码作为一种高效、有趣的知识传播方式&#xff0c;受到了越来越多人的关注和喜爱。通过搭建知识答题系统&#xff0c;我们可以将海量的知识内容以答题的形式展现给…

网络协议——Modbus-TCP

目录 1、简介 2、Modbus-TCP与Modbus-RTU的区别 3、消息格式 4、功能码01H 5、功能码02H 6、功能码03H 7、功能码04H 8、功能码05H 9、功能码06H 10、功能码0FH 11、功能码10H 1、简介 Modbus-TCP&#xff08;Modbus Transmission Control Protocol&#xff09;是一…

【linux】g++/gcc编译器

目录 背景知识 gcc如何完成 预处理(进行宏替换) 编译&#xff08;生成汇编&#xff09; 汇编&#xff08;生成机器可识别代码&#xff09; 链接&#xff08;生成可执行文件或库文件&#xff09; 在这里涉及到一个重要的概念:函数库 函数库一般分为静态库和动态库两…

DOS学习-目录与文件应用操作经典案例-comp

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 案例 1: 基本比较 案例 2: 十进制显示差异 案例 3: 字符形式显…

【数据结构】二叉树和堆

文章目录 一、 什么是二叉树二、 二叉树的存储结构顺序存储视图 三、 堆堆的结构及概念大堆和小堆 四、 建堆五、 堆排序六、 topk问题 一、 什么是二叉树 二叉树&#xff0c;作为一种重要的数据结构&#xff0c;由节点组成&#xff0c;每个节点可以有两个子节点&#xff0c;通…

精品丨快速申请免费https证书

https域名证书对提高网站排名有一定的好处&#xff0c;所以当今很多企业为了给网站一个好的安全防护&#xff0c;就会去申请该证书。如今很多企业虽然重视网站的安全防护&#xff0c;但是也重视成本&#xff0c;所以为了节约成本会考虑申请免费的https证书。 第一个好处 企业不…

阻塞信号集和未决信号集_代码实现

1. 程序验证内容 将编号为0,1,2添加到阻塞信号集中&#xff0c;i<信号编号时&#xff0c;发出信号&#xff0c;观察未决信号集状态 当解除阻塞后&#xff0c;原先的信号是否执行&#xff0c;执行顺序是什么 2. 代码实现 #include <unistd.h> #include <stdlib.h…

Mac彩球一直转圈怎么解决 苹果电脑经常卡住 mac电脑运行慢怎么办

用Mac电脑办公的朋友在操作体积比较大的程序时&#xff0c;比如Final Cut Pro或者Photo Shop&#xff0c;一定遇到过鼠标变更彩球并不停转圈。这是怎么回事&#xff1f;今天本文就告诉大家Mac彩球一直转圈怎么解决&#xff0c;以及苹果电脑经常卡住是什么原因。 一、Mac彩球一直…

Wireshark 搜不到字符串?

一个原因是pcap里没有这个字符串&#xff0c; 另一个原因可能是ctrlF之后&#xff0c;选择搜索的地方不对&#xff0c;或者是编码方式选择的不对。 上面图片的第一个下拉框是要搜索的一个范围&#xff0c;是在哪一个panel搜索&#xff0c;范围说明在下面这个链接有详细说明&…

Java | Leetcode Java题解之第100题相同的树

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {if (p null && q null) {return true;} else if (p null || q null) {return false;}Queue<TreeNode> queue1 new LinkedList<TreeNode>();…

【QGIS入门实战精品教程】10.6:QGIS制作酒店分布热力图

相关阅读: ArcGIS实验教程——实验四十二:ArcGIS密度分析(核密度、点密度、线密度) 【ArcGIS微课1000例】0086:基于七普人口数据的人口密度分析与制图 ArcGIS实验教程——实验二十四:人口密度制图 文章目录 一、加载酒店分布数据二、热力分析一、加载酒店分布数据 订阅专…

Python 新手最容易踩的坑

Python新手最容易踩的坑 缩进错误忘记引入模块使用未定义的变量不理解变量作用域字符串格式化错误乱用关键字多余的符号本期图书推荐&#xff1a;Python算法小讲堂---39个算法案例带你玩转Python内容简介获取方式 在学习 Python 的过程中&#xff0c;新手往往会遇到一些常见的陷…