Jdk提供了一些特殊的类,用来保存数量不确定的对象,存储任意类型对象,长度可变。这些类统称为集合。

集合类位于Java.util包中,按存储结构分为Collection单列集合和Map双列集合。

Collection是单列集合的根接口,有两个重要的子接口List,Set。

  • List接口特点:元素有序可重复。

    主要接口实现类:ArrayList、LinkedList

  • Set接口特点:元素无序,不可重复。

    主要接口实现类:HashSet、TreeSet

Map是双列集合的根接口,存储具有键Key,值Value映射关系的元素,每个元素都包含一个键-值对。可以通过指定键找到对应的值。

  • 主要接口实现类:HashMap,TreeMap

Collection:

Collection它是一个接口,不能直接实例化使用,只能通过它的子类来完成。

Collection 接口定义了一些通用的方法,通过这些方法可以实现对集合的基本操作。定义的方法既可用于操作 Set 集合,也可用于操作 List 和 Queue 集合。

参考API文档:Collection接口的常用方法

Iterator<E> iterator()//返回此集合中的元素的迭代器。 没有关于元素返回顺序的保证(除非这个集合是提供保证的某个类的实例)。
boolean containsAll(Collection<?> c) //如果此集合包含指定 集合中的所有元素,则返回true。
boolean removeAll(Collection<?> c) //删除指定集合中包含的所有此集合的元素(可选操作)。
boolean addAll(Collection<? extends E> c) //将指定集合中的所有元素添加到此集合(可选操作)。
boolean retainAll(Collection<?> c) //仅保留该集合中同时包含在指定集合中的对象。
<T> T[] toArray(T[] a) //返回包含此集合中所有元素的数组; //入口参数必须为数组类型的实例,而且已经被初始化,它用来指定要获得的数组类型。
boolean add(E e) //添加指定对象到集合中  
/*
Iterator<E> iterator()
boolean addAll(Collection<? extends E> c)
*/
package collection.test;import java.util.*;
public class Test {public static void main(String[] args) {String a = "A";String b = "B";String c = "C";Collection<String> list = new ArrayList<String>();list.add(a);list.add(b);Collection<String> list2 = new ArrayList<String>();list2.addAll(list);//将list中所有对象添加到list2中list2.add(c);Iterator<String> it = list2.iterator();while(it.hasNext()) {String str = it.next();System.out.println(str);}}
}
/*
A
B
C
*/package collection.test;import java.util.*;
public class Test1 {public static void main(String[] args) {String a = "A", b = "B", c= "C";Collection<String> list = new ArrayList<String>();list.add(a);list.add(b);Collection<String> list2 = new ArrayList<String>();list2.add(b);list2.add(c);boolean isContains = list.removeAll(list2);//从list中移除包含在list2中的对象System.out.println(isContains);Iterator<String> it = list.iterator();while(it.hasNext()) {String str = it.next();System.out.println(str);}}
}
/*
true
A
*/package collection.test;
import java.util.*;
public class Test2 {public static void main(String[] args) {String a = "A", b = "B", c= "C";Collection<String> list = new ArrayList<String>();list.add(a);list.add(b);Collection<String> list2 = new ArrayList<String>();list2.add(b);list2.add(c);boolean isContains = list.containsAll(list2);//查看list中是否包含list2中的所有对象System.out.println(isContains);//输出false}
}package collection.test;import java.util.*;public class Test3 {public static void main(String[] args) {String a = "A", b = "B", c= "C";Collection<String> list = new ArrayList<String>();list.add(a);list.add(b);Collection<String> list2 = new ArrayList<String>();list2.add(b);list2.add(c);boolean isContains = list.retainAll(list2);//仅保留list和list2都有的对象。System.out.println(isContains);//存在符合条件的返回true。Iterator<String> it = list.iterator();while(it.hasNext()) {String str = it.next();System.out.println(str);}}
}
/*
true
B
*/package collection.test;import java.util.ArrayList;
import java.util.Collection;public class Test4 {public static void main(String[] args) {String a = "A", b = "B", c= "C";Collection<String> list = new ArrayList<String>();list.add(a);list.add(b);String strs[] = new String[1];//创建一个String类型的数组,而且已经被初始化。strs是可以存储一个String对象的数组。String strs2[] = list.toArray(strs);//生成一个String类型的数组str2,其元素是集合list的所有对象。for(int i = 0; i < strs2.length; i++) {System.out.println(strs2[i]);}}
}
/*
A
B
*/

Java集合 Collection相关推荐

  1. Java集合Collection接口中的常用方法演示

    Java集合Collection接口中的常用方法演示 添加 add(Objec tobj) 和 addAll(Collection coll) 获取有效元素的个数 int size() 清空集合 vo ...

  2. Java集合Collection与List的关系、常见用法

    关系树 [java] view plain copy print? ---|Collection: 单列集合 ---|List: 有存储顺序, 可重复 ---|ArrayList: 数组实现, 查找快 ...

  3. java 先进先出的map_「 深入浅出 」java集合Collection和Map

    本系列文章主要对java集合的框架进行一个深入浅出的介绍,使大家对java集合有个深入的理解. 本篇文章主要具体介绍了Collection接口,Map接口以及Collection接口的三个子接口Set ...

  4. Java 集合Collection常见知识点汇总~

    看了一些所谓大公司的JAVA面试问题,发现对于JAVA集合类的使用都比较看重似的,而自己在这方面还真的是所真甚少,抽空也学习学习吧. java.util包中包含了一系列重要的集合类,而对于集合类,主要 ...

  5. Java—一篇读懂java集合(Collection/Map)及Lambda表达式

    集合简介   在集合类之前,我们使用数组存储,数组既可以存储基本数据类型的值,也可以存储对象(对象的引用变量),但是集合只能存储对象.   Java集合类似于一种容器,将同类型的对象(实际为对象引用) ...

  6. Java 集合 Collection、Iterator

    Java集合分为Set(无序.不可重复).List(有序.重复).Queue(队列)和Map(映射关系) Java集合概述 数组元素既可以是基本类型的值,也可以是对象(实际保存对象的引用变量) 集合只 ...

  7. Java集合Collection源码系列-ArrayList源码分析

    Java集合系列-ArrayList源码分析 文章目录 Java集合系列-ArrayList源码分析 前言 一.为什么想去分析ArrayList源码? 二.源码分析 1.宏观上分析List 2.方法汇 ...

  8. Java集合---Collection接口的常用方法

    Collection常用方法 size() 功能说明 返回当前集合中元素的总数量 代码实现 import java.util.ArrayList; import java.util.Collectio ...

  9. java集合Collection

    文章目录 ==Collection集合== Collection概述 Collection集合常用方法 Collection集合的遍历之iterator 概述 Iterator中的常用方法 集合使用步 ...

最新文章

  1. x9此计算机上没有hasp_mastercam x9安装步骤
  2. 6.28 头像预览:form方法和ajax方法
  3. 【云炬大学生创业基础笔记】第1章第2节关于什么是创客的讨论
  4. 点分治(简要讲解 + 模板)
  5. iPhone上编辑html,在iphone上重新格式化一个简单的html页面
  6. 让你的Python程序在用户面前以小概率崩溃
  7. python 中locals() 和 globals()的区别
  8. 小米 samba linux,U-BOOT移植准备之(一)Samba服务器
  9. 计算机实验excel总结,EXCEL实验报告
  10. 电驴无法增加服务器怎么办,电驴连接不上服务器是什么原因?介绍原因及解决方法步骤...
  11. (保姆级)国内1块钱注册火爆全网的OpenAI-ChatGPT机器人
  12. 为什么JBX写的代码在编译时,总是少字符呢?
  13. 修复 iPhone X H5 底部安全区域定位按钮下内容穿透 BUG
  14. Win10 64位下解决 NVIDIA 显示设置不可用(小白问题)
  15. TextView中英文排版混乱
  16. python3.6+PyQt5安装
  17. 阿里云服务器最新活动-2核4G 3年低至699元
  18. Mac 修改系统默认Java版本
  19. 扎根理论分析软件NVivo原理与技术应用
  20. 基于k210的水果分拣

热门文章

  1. TextView 单行显示长文本
  2. java日期用什么属性_java日期以及使用Java反射机制遍历实体类的属性和类型
  3. mysql数据自定义随机_Mysql 自定义随机字符串
  4. gerber文件怎么导贴片坐标_SMT贴片机在线编程调试
  5. php ajax json 实例,php+ajax+json 详解及实例代码
  6. python建模大赛算法_Python数据分析kaggle-Titanic+天池-工业蒸汽量预测建模算法
  7. 技术员联盟win11旗舰版64位系统v2021.07
  8. Python数据结构与算法(三)--数据结构的概念
  9. js使用深度优先遍历实现getElmentById(id)
  10. js保存当前html,JavaScript保存当前页面