JAVA 集合 List Map Set

 java  集合

 

List  Set  Map  三个接口的区别?

集合定义:集合是指一组相关的元素组成的一个单一的对象。 

Java的集合是一种特别有用的工具类,它用于存储数量不等的多个对象,并且可以实现常用的数据结构例如:栈、堆、队列…..Java集合还可以保存具有映射关系的关联数据。

Java的集合分为三大类:List、Set、Map 其中List代表:有序,可重复的集合。Set代表:无序,不可重复的集合。Map代表具有映射关系的集合。

首先:用一张结构图,来区分三者的区别:

可以清晰的看到结构图三者的区别: 

List, Set,继承自Collection接口,而Map并没有继承 

首先,List与Set具有相似性,它们都是单列元素的集合, 

List代表的是有序(元素的添加顺序),可重复的集合。他的常用实现类有:ArrayList、LinkedList。

Set接口代表的是无序(添加顺序),不可重复的集合。常用实现类HashSet

Map是以键值对出现的。它是双列的集合,其中有put方法,定义如下:put(obj key,obj value)

Map集合代表将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。Map接口中常用实现类为HashMap 、HashTable

存取元素时,各有什么特点?

List除了可以以Iterator接口取得所有的元素,再逐一遍历各个元素之外,还可以调用get(index i)来明确说明取第几个。

Set取元素时,没法说取第几个,只能以Iterator接口取得所有的元素,再逐一遍历各个元素。

Map它是双列的集合,其中有put方法,定义如下:put(obj key,obj value),每次存储时,要存储一对key/value,不能存储重复的key,这个重复的规则也是按equals比较相等。取则可以根据key获得相应的value,即get(Object key)返回值为key 所对应的value。

原文地址:https://www.cnblogs.com/kelelipeng/p/15148465.html