集合框架--List集合
Collcetion集合体系
|-List 列表:内部元素是有序的,元素可以重复。因为该集合体系有索引。
| |-ArrayList:底层的数据结构使用的是数组结构。
| | 特点:查询速度很快,但是增删很慢,线程不同步。
| |-LinkedList:底层使用的是链表数据结构。
| | 特点,增删速很度快,但是查询稍慢。
| └-Vector:底层是数组数据结构,线程同步,被ArrayList代替了。
|
|-Set 集:内部元素是无序的,不可以重复,线程不同步。(存入和取出的顺序不一定一致)。
| |-HashSet:是如何保证元素唯一性的呢?
| | 答:是通过判断元素的两个方法hashCode()和equals()来完成。
| | 如果元素的HashCode值相同,才会判断epuals()是否为true。
| | 如果元素的HashCode值不同,不会调用epuals()。
| |
| | 注意:对于判断元素是否存在,以及增删等操作,依赖的方法是元素的
| | hashCode()和epuals()方法。
| |
| └-TreeSet:-可以对Set集合中的元素进行排序。
| -底层数据结果是二叉树。
| -保证元素唯一性的依据:compareTo方法return 0。
| -TerrSet排序的第一种方式:让元素自身具备比较性。
| 元素需要实现Comparable接口,覆盖compareTo方法。
|
└-Map 映射:内部元素是无序的,该集合存储键值对,一对一对存储的,保证键的唯一性。
|-Hashtable:底层是哈希表数据结构,不能存入null键null值,此集合线程同步。JDK1.0 效率低。
|-HashMap:底层是哈希表数据结构,可以存入null键null值,此集合线程不同步。JDK1.2 效率高。
└-TreeMap:底层是二叉树数据结构,此集合线程不同步,可以用于给map集合中的键进行排序。
|