哪些类继承了Collection接口
Collection集合的基本结构:
1、Collection接口
Collection是最基本集合接口,它定义了一组允许重复的对象。Collection接口派生了两个子接口Set和List,分别定义了两种不同的存储方式,如下:
2、 Set接口
Set接口继承于Collection接口,它没有提供额外的方法,但实现了Set接口的集合类中的元素是无序且不可重复。
特征:无序且不可重复。
3、 List接口
List接口同样也继承于Collection接口,但是与Set接口恰恰相反,List接口的集合类中的元素是对象有序且可重复。
特征:有序且可重复。
两个重要的实现类:ArrayList和LinkedList
1.ArrayList特点是有序可重复的
2.LinkedList是一个双向链表结构的。
4、Map接口
Map也是接口,但没有继承Collection接口。该接口描述了从不重复的键到值的映射。Map接口用于维护键/值对(key/value pairs)。
特征:它描述了从不重复的键到值的映射。
两个重要的实现类:HashMap和TreeMap
1.HashMap,中文叫散列表,基于哈希表实现,特点就是键值对的映射关系。一个key对应一个Value。HashMap中元素的排列顺序是不固定的。更加适合于对元素进行插入、删除和定位。
2.TreeMap,基于红黑书实现。TreeMap中的元素保持着某种固定的顺序。更加适合于对元素的顺序遍历。
5、Iterator接口
Iterator接口,在C#里有例外一种说法IEnumerator,他们都是集合访问器,用于循环访问集合中的对象。
所有实现了Collection接口的容器类都有iterator方法,用于返回一个实现了Iterator接口的对象。Iterator对象称作迭代器,Iterator接口方法能以迭代方式逐个访问集合中各个元素,并可以从Collection中除去适当的元素。
[csharp]view plaincopy
print?
Iterator it = collection.iterator();// 获得一个迭代子
while(it.hasNext())
{
Object obj = it.next();// 得到下一个元素
}
6、Comparable接口
Comparable可以用于比较的实现,实现了Comparable接口的类可以通过实现comparaTo方法从而确定该类对象的排序方式。
总结
Collection集合分别派生自Collection和Map接口,Collection有两个常用子接口List和Set,分别表示有序可重复,无序不可重复的集合。而Map存储的是key-value的映射。
链接:https://www.jianshu.com/p/5d25c3577dce
转载于:https://www.cnblogs.com/dayandday/p/10791845.html
哪些类继承了Collection接口相关推荐
- List, Set, Map是否继承自Collection接口?
List, Set, Map是否继承自Collection接口? 答:List,Set是Map不是 转载于:https://www.cnblogs.com/zhaozhaozhang/p/581947 ...
- Java多线程(2)--Thread类继承和Runnable接口创建线程
Java语言的JVM允许程序运行多个线程,它通过java.lang.Thread类来体现. Thread类的特性 每个线程都是通过某个特定Thread对象的run()方法来完成操作的,经常把run() ...
- 为何 Map接口不继承Collection接口
1.首先Map提供的是键值对映射(即Key和value的映射),而collection提供的是一组数据(并不是键值对映射). 如果map继承了collection接口,那么所有实现了map接口的类到底 ...
- Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与Lin
1.容器API的类图结构如下: JAVA的集合类是一种特别有用的工具类,它可以用于存储数量不等的多个对象,并可以实现常用数据结构,如栈,队列等,除此之外,JAVA集合还可用于保存具有映射关系的关联数组 ...
- HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别...
面试题: 1.HashMap和Hashtable的区别?HashMap:线程不安全,效率高,键和值都允许null值Hashtable:线程安全,效率低,键和值都不允许null值ArrayList代替V ...
- PHP类继承、接口继承关系概述
PHP类继承: PHP类不支持多继承,也就是子类只能继承一个父类,但是支持多层次继承,比如: 1 class frist{ 2 public function __construct(){ 3 ech ...
- java list接口为何要重新声明collection接口的方法_JAVA Collection接口中List Map 和Set的区别(转)...
Java中的集合包括三大类,它们是Set(集).List(列表)和Map(映射),它们都处于java.util包中,Set.List和Map都是接口,它们有各自的实现类.Set的实现类主要有HashS ...
- java学习笔记20(Arraylist复习,Collection接口方法,迭代器,增强型for循环)
集合:集合是Java提供的一种容器,可以用来存储多个数据: 集合与数组的区别:集合的长度是可变的,数组的长度是固定的 集合中存储的数据必须是引用类型数据: ArrayList回顾: public cl ...
- 2接口详解_java集合【2】——— Collection接口详解
一.Collection接口简介 二.Collection源码分析 三.Collection的子类以及子类的实现 3.1 List extend Collection 3.2 Set extend C ...
最新文章
- 机翻降重?掩饰抄袭?SCI期刊上的这些「奇言怪语」,不少来自中国作者
- 【PC工具】文件夹多文件群体比较工具beyond compare4
- Hadoop学习笔记—4.初识MapReduce
- 如何在钉钉上开发自己的应用_神操作!老妈让我告诉老板,双十一买钉钉。
- Java Streams,第 4 部分: 从并发到并行
- HDU多校6 - 6836 Expectation(矩阵树定理+高斯消元求行列式)
- 闪屏,default
- php控制器增删改查设计,控制器的增删改查操作
- JDK 1.8新特性
- 自学python买什么书比较好-python官方推荐30本面向初学者的书籍!你看过几本?...
- Oracle 学习笔记(Windows 环境下安装 + PL/SQL)
- 阵列信号处理-学习笔记003-波束形成
- 如何强制卸载Google浏览器,不用担心Google打开为白板,亲测有效。
- 记录ubuntu20.04成功编译安装opencv4 c++环境
- android自定义相机取景框模仿微信抓取录像实现活体认证
- java方法集:大写金额转换数字
- Java程序员的搞笑段子
- c语言课程设计高校水电费管理系统
- 玩机搞机---全网最详细的手机全机型 刷机教程 二
- Ubuntu8.04最全问题汇总