Java基础(十九)集合(1)集合中主要接口和实现类
1.Java集合框架为不同类型的集合定义了大量接口
其中,集合有两个基本接口:Collection和Map。

2.各接口的主要特征如下
(1)Collection接口:是List接口、Set接口和Queue接口的父接口,通常情况下不能被直接使用。
(2)List接口:实现了Collection接口,List接口允许存放重复的对象,按照对象的插入顺序排列
(3)Set接口:实现了Collection接口,Set接口不允许存放重复的对象,按照自身内部的排序规则排列
(4)Queue接口:实现了Collection接口,Queue接口只允许在队列的尾部添加元素,在队列的头部删除元素,并且可以统计队列中元素的个数。
(5)Map接口以键值对(Key-Value)的形式存放对象,其中键(key)对象不可以重复,值(Value)对象可以重复,按照自身内部的排序规则排列。
(6)Iterator接口:定义了访问集合中元素的第一种方式,迭代器访问,必须顺序地访问元素。
(7)RandomAccess接口:定义了访问集合中元素的第二种方式,使用一个整数索引访问,即随机访问,可以按任意顺序访问元素。
3.实现了各个接口的类

Java中集合的实现类的描述
- List
- ArrayList:可以动态增长和缩减的索引序列
- LinkedList:(实现了Queue接口)可以在任何位置进行高效地插入和删除操作的有序序列,即链表序列
- Set
- HashSet:没有重复元素的无序集(--子类LinedHashSet:可以记住元素插入次序的集)
- EnumSet:包含枚举类型值的集
- TreeSet:有序集
- Queue
- PriorityQueue:允许高效删除最小元素的集合
- ArrayDeque:用循环数组实现的双端队列
- Map
- HashMap:存储键/值关联的数据结构(--子类LinkedHashMap:可以记住键/值项添加次序的映射表)
- TreeMap:键/值有序排列的映射表
- EnumMap:键/值属于枚举类型的映射表
- WeakHashMap:其值无用武之地后可以被垃圾回收器回收的映射表
- IdentityHashMap:用“==”而不是equals比较键/值的映射表
Java基础(十九)集合(1)集合中主要接口和实现类的更多相关文章
- Java基础(二十一)集合(3)List集合
一.List接口 List集合为列表类型,列表的主要特征是以线性方式存储对象. 1.实例化List集合 List接口的常用实现类有ArrayList和LinkedList,根据实际需要可以使用两种方式 ...
- Bootstrap <基础十九>分页
Bootstrap 支持的分页特性.分页(Pagination),是一种无序列表,Bootstrap 像处理其他界面元素一样处理分页. 分页(Pagination) 下表列出了 Bootstrap 提 ...
- Java基础十二--多态是成员的特点
Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println( ...
- Java基础十--接口
Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...
- “全栈2019”Java第九十九章:局部内部类与继承详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第九十五章:方法中可以定义静态局部内部类吗?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第二十九章:数组详解(中篇)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第十九章:关系运算符、条件运算符和三元运算符
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 第4节:Java基础 - 必知必会(中)
第4节:Java基础 - 必知必会(中) 本小节是Java基础篇章的第二小节,主要讲述抽象类与接口的区别,注解以及反射等知识点. 一.抽象类和接口有什么区别 抽象类和接口的主要区别可以总结如下: 抽象 ...
- Java基础扫盲系列(-)—— String中的format
Java基础扫盲系列(-)-- String中的format 以前大学学习C语言时,有函数printf,能够按照格式打印输出的内容.但是工作后使用Java,也没有遇到过格式打印的需求,今天遇到项目代码 ...
随机推荐
- 《深度解析Tomcat》 第一章 一个简单的Web服务器
本章介绍Java Web服务器是如何运行的.从中可以知道Tomcat是如何工作的. 基于Java的Web服务器会使用java.net.Socket类和java.net.ServerSocket类这两个 ...
- jedis指定数据库
正常情况下,我们通过get或者set方法是从db0中取数据. 1.redis提供了 select命令,可以通过select index 这个指令,将数据库切换到index所在的那个数据库上 2.jed ...
- SpringBoot进阶教程(六十二)整合Kafka
在上一篇文章<Linux安装Kafka>中,已经介绍了如何在Linux安装Kafka,以及Kafka的启动/关闭和创建发话题并产生消息和消费消息.这篇文章就介绍介绍SpringBoot整合 ...
- Python Excel操作——xlrd、xlwd
读取 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_workbook('excel.xls') 3.获取一个工作表 1 table = dat ...
- ng执行css3动画
在组件html中 <div> <aside id="aside">侧边栏</aside> <div class="content ...
- 一文彻底理解Redis序列化协议,你也可以编写Redis客户端
前提 最近学习Netty的时候想做一个基于Redis服务协议的编码解码模块,过程中顺便阅读了Redis服务序列化协议RESP,结合自己的理解对文档进行了翻译并且简单实现了RESP基于Java语言的解析 ...
- Java 学习笔记之 Stop停止线程
Stop停止线程: 使用stop()方法停止线程是非常暴力的,会抛出java.lang.ThreadDeath Error,但是我们无需显示捕捉, 以下捕捉只是为了看得更清晰. public clas ...
- 安装web3失败问题
① 首先可以先通过 npm cache verify 清理下缓存,在进行安装 ② 如果还是安装失败可以尝试 --- npm install web3@^0.20.0 或者 npm install ...
- 解决MVC中Model上的特性在EF框架刷新时清空的问题
MVC中关于前端数据的效验一般都是通过在Model中相关的类上打上特性来实现. 但是在我们数据库发生改变,EF框架需要刷新时会把我们在Model上的特性全部清除,这样的话,我们前端的验证就会失效. 因 ...
- SDI接口基于FPGA GTP实现
SDI采集和显示,基于xilinx 7系列器件进行实现,注意事项有如下几点: 1,如果多路SDI共用一个GTP Quad,或是SDI和PCIE在一个GTP Quad,时钟资源应该进行共享,既GTP c ...