集合与数组区别:
1.长度区别:集合长度可改变,数组长度固定。
2.内容区别:数组可存储基本数据类型和引用数据类型;集合只能说引用类型。
3.元素区别:数组只能是一种元素类型;集合能储存多种元素类型。
集合分类:
1.单列集合Collection;
List元素(有序,可重复,可通过索引获得元素):
ArrayList:数组,随机访问,没有同步, 线程不安全
LinkedList:链表, 插入删除, 没有同步, 线程不安全
Vector:数组, 同步, 线程安全
Stack:Vector的实现类
Set元素(无序,不可重复,不能通过索引获得元素):
HashSet:有最好的储存性能,但元素没有顺序
LinkedHashSet:链表顺序为元素插入顺序
TreeSet:使用红-黑树为元素排序,元素必须是可比较
2.双列集合Map:HashMap:无序,不可重复,初始化容量必须是2的倍数
TreeMap:按关键字升序排序
Hashtable:同步,线程安全
Collection集合常用方法:
boolean add(E e)--------------------------------向集合中添加元素e
boolean remove(Object o)--------------------删除指定元素o
boolean contains(Object o)-------------------返回集合中是否包含o
lean isEmpty()-------------------------------判断集合是否为空,空则返回true
int size()--------------------------------------------返回集合中元素个数
void clear()----------------------------------------清空集合
Map集合常用方法:
V put(K key,V value)---------------------------添加一个键值对,如果有旧的,替换旧键值对
V get(Pbject ket)--------------------------------返回指定键的值
V remove(Object key)--------------------------删除指定键值对
boolean containsKey(Object key)-----------返回是否包含指定键
boolean containsValue(Object value)-------返回是否包含指定值
V replace(K ket,V value)------------------------用指定键替换原有键
int size()--------------------------------------------返回集合中元素个数
boolean isEmpty()--------------------------------返回集合是否为空