1.java集合类主要由Map接口和Collection接口派生而来
collection的子接口:List,Set
list集合:可重复,有序
set集合:不可重复,无序
2.实现类:
List的实现类:ArrayList,LinkedList
Set的实现类:HashSet
Map的实现类:HashMap
3.什么时候使用LinkedList,什么时候使用ArrayList
经常访问,输出等使用ArrayList
经常插入删除等使用LinkedList
linkedList包含ArrayList类所有的方法,还有其独特的方法
4.Map添加元素没有add方法,使用put添加元素
map.put(key,value);
括号里面分别表示键,值。
键不要求有序,不重复
值不要求有序,允许重复
**获取键的集合:map.keyset();返回set集合
获取值的集合:map.values();**返回collections类
映射关系:通过键值得到对象,如map.get(1);获得键值为1的对象
5.collections集合操作类:
Collections.binarySearch(list, "b");//二分查找法
Collections.max(list);//获取集合最后一位
Collections.min(list);//获取集合最前一位
Collections.sort(list);//集合升序排列
Collections.reverse(list);//集合倒序排列
6.set不能有get()方法,只能通过迭代器(Iterator)或者增强for遍历
迭代器:
Iterator it=list.iterator();
while(it.hasNext()){
String name=(String)it.next();
System.out.println(name);
}
7.ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。