1.Iterable,Collection继承关系
Collection
- List 有序,可重复,
- ArrayList
- Set 无序,不可重复
- HashSet
1.1ArrayList
本质:数组
特点:
- 长度可变数组,提供很多方便的方法。有序,可重复。
- ArrayList<T> list = new ArrayList<T>();
- 泛型:规定集合存储的数据类型。
常用API:
- 添加数据:add(…)
- 取出数据:get(…)
- 获取list集合的大小:size()
其他API:
- 移除数据:remove(…)
- isEmpty(…),判空函数
- contains(…),判断是否包含某数据
- set(…),修改某个位置
-
toString():
- toString()是来自Object类中的方法,当我们使用System.out.println(s)输出时自动会调用toString();
- 重写toString()就是为了方便打印。
遍历集合:
- 普通for
- 增强for
- 迭代器
- iterator():获取迭代器
- hasNext():迭代器通过指针下移判断是否有数据
- next():取数据
1.2、HashSet
特点:无序,不可重复。
HashSet<T> set = new HashSet<T>();
常用API
- 添加数据:add(…)
- size() , 获取集合的大小
其他API
- size() , 获取集合的大小
- 删除数据:remove(…)
- contains(),判断是否包含某数据
- isEmpty() , 判断集合是否为空
- clear(), 将集合里的所有数据清空
- toArray(),将集合转化成为对应数据类型的数组
遍历集合:
- 增强for
- 迭代器
2、HashMap
特点:键值对。一个键对应一个值,键不能重复。存储重复的键后会覆盖之前的值。
HashMap<K,V> map = new HashMap<K,V>();
Map- HashMap
常用API
- 添加数据:put(…)
- 取值:get(…)
- 获取所有的键:keySet(…)
其他API:
- size(),containsKey(…),containsValue(…)
- 移除:remove(…)
- 获取或有的值:values(…)
遍历集合:
- 增强for
- 迭代器
Entry:
Set<Map.Entry<K,V>> entrySet = map.entrySet();
for(Entry e : entrySet) {
System.out.println(e.getKey() + "===" + e.getValue());
}