一、list接口
list接口是collection接口地 子接口,也是最常用的接口。此接口对collection接口进行了大量扩充,里面的内容是允许重复的。
- ArrayList接口和vector接口区别
ArrayList和vector咋操作结果上没有特别大的区别。
序号 | 比较点 | ArrayList | vector |
1 | 推出时间 | jdk 1.2之后,属于新的操作类 | jdk1.0时推出,属于旧的操作类 |
2 | 性能 | 采用异步处理,性能更高 | 采用同步处理,性能较低 |
3 | 线程安全 | 属于非线程安全的操作类 | 属于线程安全操作类 |
4 | 输出 | 只能使用iterator、foreach输出 | 可以使用iterator、foreach、Enumeration输出 |
2.ArrayList和linkedList
- ArrayList是实现了基于动态数组的数据结构,linkedlist是基于链表的数据机构;
- ArrayList适用于get和set,因为linkedlist要移动指针;
- linkedlist使用于add和remove,因为ArrayList要移动数据
二、set接口
是collection的子接口,没有对collection扩充,里面不允许存放重复内容。
1.hashset:散列的存放
hashset是set的一个字接口,主要特点是:里面不能存放重复的元素,而且采用散列的存放方式,所以没有顺序。
2.TreeSet:有序的存放
三、map接口
map接口是存放一对值的最大父接口,即每个接口中的元素都是一对,以key-value的形式保存
常用的子类:
- HashMap:无序的存放,是新的操作类,key不允许重复。
- HashTable:无序存放的,是旧的操作类,key不允许重复。
- TreeMap:可以排序的map集合,按集合中的key排序,key不允许重复。
- WeakHashMap:弱引用的map集合,当集合中的某些内容不再使用时清除无用的数据,使用gc进行回收。
- IdentityHashMap:key可以重复的Map集合。
序号 | 比较点 | HashMap | HashTable |
1 | 推出时间 | jdk1 .2之后,新的操作类 | jdk1.0推出,属于旧的操作类 |
2 | 性能 | 采用异步处理,性能高 | 采用同步处理,性能较低 |
3 | 线程安全 | 属于非线程安全 | 属于线程安全 |
4 | 空键 | 允许将key设置为null | 不允许将key设为null |