Java教程

Java集合异同

本文主要是介绍Java集合异同,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、Collection 接口 :

Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的
元素, Java不提供直接继承自Collection的类,只提供继承它的子接口(如List和set)。

Collection 接口存储一组不唯一,无序的对象。


2、List 接口 :

List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,
能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的
索引为 0,而且允许有相同的元素。

List 接口存储一组不唯一,有序(插入顺序)的对象。


3、Set 接口:

Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。

Set 接口存储一组唯一,无序的对象。


4、Map:

Map 接口存储一组键值对象,提供key(键)到value(值)的映射。

 

5、什么是哈希?
(1)哈希就是基于数组,通过把键值用哈希函数转换成数组下标。

(2)如果转换的数组下标对应的数据项已经存在数据,这就叫做冲突,而解决冲突的办法有开放地址法和链地址法。

(3)开放地址法就是一个一个的顺着数组往下查找空位。

(4)链地址法就是数组中的每位置都设有一条链表,数据项就放到键值所对应的数组下标中的链表中,包括多个键值相同的数据项,也就是键值映射到同一个数组位置,数据项同样放到链表中。

6、Set和List的区别:

    1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以
重复的元素。

    2. Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类
有HashSet,TreeSet>。

    3. List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。
查找元素效率高,插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,
LinkedList,Vector> 。

这篇关于Java集合异同的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!