不多说,直接上干货!
https://www.nowcoder.com/ta/review-java/review?tpId=31&tqId=21086&query=&asc=true&order=&page=18
总共有两大接口:Collection 和Map ,一个元素集合,一个是键值对集合;
其中List和Set接口继承了Collection接口,一个是有序元素集合,一个是无序元素集合;
而ArrayList和
LinkedList 实现了List接口,HashSet实现了Set接口。
这几个都比较常用; HashMap
和HashTable实现了Map接口,并且HashTable是线程安全的,但是HashMap性能更好。
java.util.Collection
java.util.List
java.util.ArrayList
java.util.LinkedList
java.util.Vector
java.util.Stack java.util.Set
java.util.HashSet
java.util.LinkedHashset
java.util.SortedSet
java.util.TreeSet
TreeSet是SortedSet接口的实现类。
java.util.Map
java.util.SortedMap
java.util.TreeMap
java.util.Hashtable
java.util.HashMap
java.util.LinkedHashMap
java.util.WeakHashMap
TreeMap是SortedMap接口的实现类。
集合类接口指定了一组叫做元素的对象。集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序。有的集合类允许重复的键,有些不允许。
Java集合类提供了一套设计良好的支持对一组对象进行操作的接口和类。Java集合类里面最基本的接口有:
Collection:代表一组对象,每一个对象都是它的子元素。
Set:不包含重复元素的Collection。
List:有顺序的collection,并且可以包含重复元素。
Map:可以把键(key)映射到值(value)的对象,键不能重复。
List,Set继承自Collection接口,而Map没有继承自Collection接口。
List:有序可重复。 Set:无序不可重复。
collection:一组对象的集合,每一个对象都是collection的子元素。
set:不允许出现重复元素且无序排列的collection。
list:排列有序且可以出现重复元素的collection。
map:允许将key映射到val的collection。其中key不能重复。
Set:表示数学意义上的集合概念,无序,其最主要特点就是集合中的元素不能重复,因此存入Set的每个元素都必须定义equals()方法来确保对象的唯一性。
List:有序,可以保存重复的对象。它按对象进入的顺序保存对象,所以它能对列表中的每个元素的插入和删除位置进行精确的控制。
Map:值可以重复,但键是唯一的。
注意: Map是接口,不能实例化。
Map m = new Map();//错误
Map m = new Map(init capacity,increment capacity)//错误
Map m = new Map(new Collection())//错误
Map m = new HashMap()//正确