Java之Collection接口(单列集合根接口)
集合概述
- 集合到底是什么呢?集合:集合是java中提供的一种容器,可以用来存储多个数据
集合和数组既然都是容器,它们有啥区别呢?
区别1:
- 数组的长度是固定的。
- 集合的长度是可变的。
区别2:
- 数组中存储的是同一类型的元素,可以存储基本数据类型值,也可以存储引用类型:
- 集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。
学习集合的目标
- 会使用集合存储数据
- 会遍历集合,把数据取出来
- 掌握每种集合的特性
学习集合的方式
- 学习顶层:学习顶层接口或者抽象类中共性方法,所有的子类都可以使用
- 使用底层:顶层不是接口就是抽象类,无法直接使用,我们需要使用底层的子类来创建对象使用
集合框架
在使用JAVASE提供的API前,了解其继承与接口操作架构,才能知道何时采用哪个类,以及类之间如何彼此合作,从而达到灵活应用。集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection:定义了所有单列集合的共性方法。双列集合java.util.Map:定义了所有双列集合的共性方法。JDK中提供了丰富的集合类库,为了便于初学者进行系统地学习,接下来通过一张图来描述整个集合类的继承体系。
注意事项:
- 上图橙色框里填写的都是接口类型,而蓝色框里填写的都是具体的实现类
- 集合本身是一个工具,它存放在java.util包中。在 Collection 接口定义着单列集合框架中最最共性的内容。
单列集合的体系结构图
我们先看下图大概了解一下单列集合的结构体系,下面我们来详细学习

Collection 常用功能
- public boolean add(E e) : 把给定的对象添加到当前集合中 。
- public void clear() :清空集合中所有的元素。
- public boolean remove(E e) : 把给定的对象在当前集合中删除。
- public boolean contains(E e) : 判断当前集合中是否包含给定的对象。
- public boolean isEmpty() : 判断当前集合是否为空。
- public int size() : 返回集合中元素的个数。
- public Object[] toArray() : 把集合中的元素,存储到数组中
public class CollectionTest {
public static void main(String[] args) {
//多态:创建集合类对象
Collection<String> collection = new ArrayList<>();
//打印对象名称,得到的不是对象的内存地址值,ArrayList类重写了toString方法
System.out.println(collection);//[]
// public boolean add(E e): 把给定的对象添加到当前集合中 。返回值是一个boolean值,一般都返回true,所以可以不用接收
collection.add("早餐");
collection.add("中餐");
collection.add("晚餐");
collection.add("夜宵");
System.out.println(collection);//[早餐, 中餐, 晚餐, 夜宵]
/*
public boolean remove(E e): 把给定的对象在当前集合中删除。
返回值是一个boolean值,集合中存在元素,删除元素,返回true
集合中不存在元素,删除失败,返回false
*/
System.out.println(collection.remove("夜宵"));//true
System.out.println(collection.remove("元宵"));//false
/*
public boolean contains(E e): 判断当前集合中是否包含给定的对象。
包含返回true
不包含返回false
*/
System.out.println(collection.contains("夜宵"));//false
System.out.println(collection.contains("早餐"));//true
//public int size(): 返回集合中元素的个数。
System.out.println(+collection.size());//3
//public Object[] toArray(): 把集合中的元素,存储到数组中。
Object[] objects = collection.toArray();
//遍历数组
for (int i = 0; i < objects.length; i++) {
System.out.print(objects[i] + " ");//早餐 中餐 晚餐
}
System.out.println(" ");
//public boolean isEmpty(): 判断当前集合是否为空。 集合为空返回true,集合不为空返回false
System.out.println(collection.isEmpty());//false
//public void clear() :清空集合中所有的元素。但是不删除集合,集合还存在
collection.clear();
//再次查看集合中元素的个数和元素是否为空
System.out.println(collection.size());
System.out.println(collection.isEmpty());//true
}
}
Java之Collection接口(单列集合根接口)的更多相关文章
- Java中的集合(二)单列集合顶层接口------Collection接口
Java中的集合(二)单列集合顶层接口------Collection接口 Collection是一个高度封装的集合接口,继承自Iterable接口,它提供了所有集合要实现的默认方法.由于Iterab ...
- Java第二十天,Map集合(接口)
Map接口 一.定义 Map集合是双列集合,即一个元素包含两个值(一个key,一个value),Collection集合是单列集合. 定义格式: public interface Map<K,V ...
- Java从零开始学二十三(集合Map接口)
一.Map接口 Collection.Set.List接口都属于单值的操作,即:每次只能操作一个对象,而Map与它们不同的是,每次操作的是一对对象,即二元偶对象,Map中的每个元素都使用key à v ...
- Java从零开始学二十一(集合List接口)
一.List接口 List是Collection的子接口,里面可以保存各个重复的内容,此接口的定义如下: public interface List<E> extends Collecti ...
- 29.1 collection层次结构 中的根接口
/* * Collection * boolean add(E e) * void clear() * boolean contains(Object o) * boolean isEmpty() * ...
- Java集合类根接口:Collection 和 Map
前言 在前文中我们了解了几种常见的数据结构,这些数据结构有着各自的应用场景,并且被广泛的应用于编程语言中,其中,Java中的集合类就是基于这些数据结构为基础. Java的集合类是一些非常实用的工具类, ...
- Java容器---Collection接口中的共有方法
1.Collection 接口 (1)Collection的超级接口是Iterable (2)Collection常用的子对象有:Map.List.Set.Queue. 右图中实现黑框的ArrayLi ...
- Java Collection、Map集合总结
1.Java中的Collection集合总结 Collection |---List(存储有序,可重复) |---ArrayList 底层数据结构是数组,查询快,增删慢. 线程不安全.效率高 |--- ...
- java 单列集合总结
Collection 接口 add() remove() contains() clear(); size(); 迭代器遍历(普通迭代器,不能再遍历过程中修改集合的长度) List接口 单列集合 有序 ...
随机推荐
- 经典常用SQL语句大全
创建表 --删除表 --DROP TABLE [dbo].[Test] --创建表 CREATE TABLE [dbo].[Test] ( ,) PRIMARY KEY, ----自增主键 ) NUL ...
- 介绍一款自己实现的rabbit轻量级组件和使用方法
DotNetCore.RabbitMQ.Extensions介绍 这是一个 基于.NETStandard 2.0的Rabbit轻量级框架,可以让开发人员无需关注底层变动,专注编写业务代码,从而达到便捷 ...
- 了解web漏洞-sql注入
1:为什么要学web漏洞? 作为一个运维人员,日常工作就是保障服务器和网站的业务正常运行,平时也需要对服务器的安全工作加固,说到防护攻击问题,那么久必须去了解攻击者是怎么对服务器发动的一个流程,这样才 ...
- 成为java高手的成长历程想学好java必看
1:J2SE入门阶段(3-6个月) 学习内容:J2SE常用类,JDBC等等 动态绑定,反射机制等 2:J2EE入门阶段(3个月) 学习内容:JSP/Servlet/JavaBean MVC结构的概念 ...
- jsonp跨域 封装通用方法
jsonp跨域 封装通用方法 //用法如下 jsonp({ url:"https://www.xxxx.com", params:{wd:'b'}, callback:'show' ...
- flutter学习之环境配置
1.Android SDK通常目录: 用户->用户名->AppData->Local=>Android->Sdk 2.不知道的情况下,打开Android Studio,然 ...
- 聊聊 print 的前世今生
本文原创并首发于公众号[Python猫],未经授权,请勿转载. 原文地址:https://mp.weixin.qq.com/s/NuzfuH_zCZzcrmSFR04NHw (一) 上周,我翻译了一篇 ...
- Python解密网易云音乐缓存文件获取MP3
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:GeneralMonkey Python解密网易云音乐缓存文件获取MP3 ...
- 魔术师发牌问题 -- python实现
问题描述 魔术师手中有A.2.3--J.Q.K十三张黑桃扑克牌.在表演魔术前,魔术师已经将他们按照一定的顺序叠放好(有花色的一面朝下).魔术表演过程为:一开始,魔术师数1,然后把最上面的那张牌翻过来, ...
- 《Hands-On System Programming with Go》之写文件的代码模板
使用了buffer,这个神奇东东. var w io.WriteCloser // initialise writer defer w.Close() b := bufio.NewWriter(w) ...