JAVA高阶笔记(一)--集合框架
了解java的集合框架内容
collection --接口
set list map --接口
hashSet/TreeSet Array/linkedList hashMap ---实现类
Collection 接口存储一组不唯一(可重复),无序的对象
List 接口存储一组不唯一(可重复),有序(插入顺序)的对象
Set 接口存储一组唯一(不可重复),无序的对象
Map接口存储一组键值对象,提供key到value的映射
1.List:可重复,有序
a.实现类ArrayList:
ArrayList实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高
b.实现类LinkedList:
LinkedList采用链表存储方式。插入、删除元素时效率比较高
c.ArrayList使用方法:
add(Object o):将元素添加到集合尾部
add(int index,Object o):将元素添加到指定位置
size():获取集合的长度
contains(Object o):判定集合中是否存在该元素
remove(int index):移出指定角标的元素
remove(Oject o):移出指定元素 如果里面放入的元素类型是int类型,以角标为准备
get(int index):获取指定角标的元素
indexOf(Ojbect o):获取指定元素首次的角标
(***)角标从0开始,同数组一致
d.LinkedList使用方法:
ArrayList含有的常见方法该实现类基本含有,并还有新的内容
addFirst(Object o):添加元素到集合的开头
addLast(Ojbect o):添加元素到集合的尾部
getFirst():获取开头的元素
getLast():获取结尾的元素
removeFirst():删除集合开头的元素
removeLast():删除集合结尾的元素
2.Set:不可重复,无序
a.实现类HashSet:
此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。
b.HashSet使用方法:
add():将元素添加到集合中,没有顺序
remove(Object o):将元素从集合中移除;
contains(Object o):判定集合中是否存在该元素
(***):Set因为是无序的,所以在需要循环遍历集合时无法使用基本的for--特殊for循环---foreach增强循环
for(类型 变量名 集合名){
使用变量名等同于使用该类型的对象
}
3.Map:
a.存储键值对的集合;
b.实现类:HashMap:
允许使用 null 值和 null 键
c.实现类:HashTable:
任何非 null 对象都可以用作键或值,不允许null值;
d.HashMap使用方法:
put(key,value)---将键值对放入集合;
keySet()---获取所有健并放入集合---set集合;
values()---获取所有值并放入集合---collection集合;
get(key)---通过key获取对应的value;
isEmpty()---判定集合是否为空
remove(Object)---移除键值对关系
size()---获取键值对集合长度方法