Collection接口是集合继承树中最顶层的接口,该接口
声明了集合中常用到的一些通用方法。
- 一 List:
- 1.add(Object o);
- 2.get(int i);
- 3.remove(int i)
- 4.add(int i, Object o);
- ArrayList与LinkedList的区别
- 查找时ArrayList比LinkedList快,因为底层是数组 //get(int i);
- 添加时ArrayList比LinkedList慢, LinkedList是双向链表 //add(Object o);
- 常用ArrayList ,因为一般项目中查找比添加多。
- List可以加入重复元素
- List可以通过Collections类对象的short(List list)进行排序,没有排序时,元素顺序与加入顺序相同
Vector线程安全,是同步的;ArrayList,和Linked是线程不安全的。
Vector底层与ArrayList底层都是数组, 很少使用, 速度很慢
List可以用下标,forEach,或Iterator。
- Set:
1set不能包含重复的元素。
2set不能通过下标取,set用forEach遍历,或者用Iterator遍历
3set加进入元素与加入的顺序没有关系, HashSet里元素的顺序是乱的
4TreeSet里面的元素会自动排序,所以速度比HashSet慢
5HashSet可以加入任何元素,而TreeSet加入的元素必须是实现了Comparable接口
6Set的速度没有list快
7 HashSet速度比TreeSet快
Map
put(key, value);
Set keyset();//返回此映射中包含的键的 Set 视图
value = get(key)
- 装的是键值对如:
name 小二
age 30
2HashMap速度比TreeMap快
3 Map 与加入的顺序没有关系
Map 中不能包含重复的键
HashMap可以加入任意的键值对
TreeMap 加入的键值对中的键必须是实现了Comparable接口.
TreeMap 内部的键值对会根据键来自动排序
HashTable: 线程安全的,同步。其它的Map是线程不安全的。
HashTable比其它的Map速度要慢.HashTable很少使用.
Map中用得最多的是HashMap.