集合
Collection和map
Collection
List接口 元素有序 可重复的集合
ArrayList // 作为List 接口的主要实现类 线程不安全 效率高 使用Object[] 存储
LinkedList 对于频繁的插入 删除操作 使用此类效率高 底层使用的双向链表存储
Vector 古老实现类 线程安全 效率低
Set接口 元素无需,不可重复的集合
HashSet 作为set接口主要实现类 线程不安全 可以存储null值
LinkHashSet 作为HashSet的子类 遍历其内部数据时 可以按照添加的顺序遍历
TreeSet 可以按照添加的对象的指定属性 进行排序
在自然排序中 比较两个对象是否相同的标准 : compareTo() 返回是0; 不在是equals();
在定制排序中 比较两个对象是否相同的标准 : compare() 返回是0;不再是equals();
父类->子类
Collection ->List,Set
List实现类: ArrayList LinkedList Vector
Set实现类 :HashSet LinkHashSet TreeSet
map
|-- HashMap 主要实现类 线程不安全的 效率高 ; 存储null的key和value
|-- LinkedHashMap 保证遍历map元素时,可以按照添加的顺序实现遍历
原因:在原有的HashMap底层结构基础上 添加了一对指针,指向前一个和后一个元素
对于频繁的遍历操作 此类执行效率高于HashMap
|-- TreeMap 保证按照添加的key-value 对进行排序 实现排序遍历,此时考虑key的自然排序或定制排序 底层使用的红黑树
|-- Hashtable 作为古老的实现类 线程安全 效率低
|-- Properties: 常用来处理配置文件 key和value都是String类型
map中的key :无需的 不可重复的 使用set存储所有的key key所在类中需要重写equals()和hashCode()
map中的value : 无序的 可重复的 使用Collection存储所有的value value所在的类中要重写equals()
Map.Entry map 内部接口 此接口为泛型,定义为Entry<K,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。
















