前言
总结曾经的知识
先百度一张图
1.Collection
List
(有序可重复)
ArrayList
底层:数组结构
特点:增删慢,改查快
线程不安全
LinkedList
底层:链表
特点:增删快,改查慢
线程不安全
Vector
底层:有同步锁,数组结构,
线程安全,效率低
Set
(无序不可重复)
HashSet
底层:HashMap,HashMap<e,Object>
特点:无序,不可重复
TreeSet
底层:TreeMap,自定义类实现Comparable
也是排序
遍历
最简单的方法,都可以使用foreach
LinkedList<String> strings = new LinkedList<>();
strings.add("aaa");
strings.add("bbb");
strings.add("ccc");
for (String s:strings
) {
System.out.println(s);
}
2.Map
(键值对)
HashMap
底层:Hash表,一个叫哈希的人发明的(哈希表的底层是数组+链表)
特点:键值对
线程不安全,效率高,允许key或者value为null
TreeMap
底层:红黑二叉树
特点:排序用,自定义类实现Comparable
HashTable
线程安全,效率低,不允许key或者value为null
遍历
使用keySet获得Key的集合
TreeMap<Integer, String> isTreeMap = new TreeMap<>();
isTreeMap.put(1,"aa");
isTreeMap.put(2,"bb");
isTreeMap.put(3,"cc");
for (Integer ss:isTreeMap.keySet()
) {
System.out.println("key:"+ss+" value:"+isTreeMap.get(ss));
}
完成
其实很简单,但不经常使用的,容易忽视
如有偏颇敬请斧正,本厮邮箱:suncch@163.com