目录
集合的划分:
集合从大的范围来说一共分为两类,一类是Collection接口定义的集合,一类是Map接口定义的集合。先说说大概区别,Collection接口定义的的集合,都是单列元素,每次只存储一个元素。而Map接口定义的集合每次存储元素都是成对存在的,它有着键和值(键可以理解成地址),并且里面的键的值不能重复,但是值可以重复。下面就具体说一下两个接口定义集合的区别:
Collection接口定义的集合:
可以使用迭代器
首先两个子接口,List接口和Set接口:
List接口定义的集合:
特点:元素有序,可以重复,带有索引
特有方法:
Link接口主要具体实现类:
ArrayList集合:存储结构为数组结构,元素增删慢,查找快
LinkedList集合:存储结构为链表结构,增删快,查找慢。
LinkedList需要了解的方法:
Set接口定义的集合:
特点:元素不重复,是否有序得看具体实现类。
Set接口具体实现类:
HashSet集合:
HashSet集合存储集合的结构是通过哈希表来存储的,哈希表则是由数组加链表加红黑树组成的,同时该集合保证元素唯一的方法是通过hasCode和equals方法来实现的,所以我们在存放自定义元素的时候就需要重写这两个方法来保证元素的唯一性(可以自动生成)。
LinkedHashSet集合:
因为HashSet集合里面的元素并没有顺序,所以在HashSet这个类有一个子类,也就是LinkedHashSet集合,这个集合里面的元素是有顺序的。它的实现原理是在HashSet的基础上加了一个双向链表用来记录添加的顺序。
TreeSet集合:
特点:
元素唯一、元素没有索