Java集合就好比一个容器,它可以储存任何类型的数据。在Java中,集合类通常存在于Java.util包中。
(推荐教程:java入门教程)
Java集合主要由两大体系构成,分别是:Collection体系和Map体系。其中Collection体系和Map体系分别是两大体系中的顶层接口。
Collection主要有三个子接口,分别为List(列表)、Set(集)、Queue(列队)。
有序可重复:List、Queue
无序不可重复:Set
Collection接口
一、List有序,可重复
1、ArrayList
优点:底层数据结构是数组,查询快,增删慢。
缺点:线程不安全,但是效率高。
2、Vector
优点:底层数据结构是数组,查询快,增删慢。
缺点:线程安全,效率低
3、LinkedList
优点:底层数据结构是数组,查询慢,增删块。
缺点:线程不安全,效率高
二、Set无序,唯一
1、HashSet
底层数据结构是哈希表。(无序,唯一)
如何来保证元素唯一性?
依赖两个方法:hashCode()和equals()
2、LinkedHashSet
底层数据结构是链表和哈希表。(FIFO插入有序,唯一)
Ⅰ.由链表保证元素有序
Ⅱ.由哈希表保证元素唯一
3、TreeSet
底层数据结构是红黑树。(唯一,有序)
如何保证元素排序的呢?
自然排序、比较器排序。
如何保证元素唯一性的呢?
根据比较的返回值是否是0来决定。
(视频教程推荐:java课程)
Map接口
1、Map接口有三个比较重要的实现类分别是:HashMap、TreeMap、HashTable。
2、有序:TreeMap。无序:HashMap、HashTable。
3、HashTable、HashMap的主要的区别:
Hashtable的方法是同步的,HashMap的方法不是同步的。
4、Hashtable是线程安全的,HashMap不是线程安全的。
5、HashMap效率较高,Hashtable效率较低。
如果对同步性或与遗留代码的兼容性没有任何要求,建议使用HashMap。 查看Hashtable的源代码就可以发现,除构造函数外,Hashtable的所有 public 方法声明中都有 synchronized关键字,而HashMap的源码中则没有。
6、Hashtable不允许null值,HashMap允许null值(key和value都允许)。
7、父类不同:Hashtable的父类是Dictionary,HashMap的父类是AbstractMap。
以上是Collection接口与Map接口概述的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Linux新版
SublimeText3 Linux最新版

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器