集合---Collection:
1、list集合和set集合分别继承Collection接口。
2、Collection接口存储一组不唯一、无序的对象。
3、list接口存储一组不唯一、有序的对象。
(1)ArrayList遍历和访问元素效率高。
Book bk1 = new Book(1,"name1",20);
Book bk2 = new Book(2,"name2",21);
Book bk3 = new Book(3,"name3",22);
List<Book> list = new ArrayList<Book>();
list.add(bk1);
(2)LinkedList插入和删除元素效率高。
List list = new LinkedList();
4、set接口存储一组唯一、无序的对象。
Book bk1 = new Book(1,"name1",20);
Book bk2 = new Book(2,"name2",21);
Book bk3 = new Book(3,"name3",22);
Set set = new HashSet();
set.add();
Iterator it = set.iterator;
while(it.hasNext()){ };
for(Object o : set){ };
映射---Map:
1、Map接口存储一组键值对象,提供key到value的映射。
Book bk1 = new Book(1,"name1",20);
Book bk2 = new Book(2,"name2",21);
Book bk3 = new Book(3,"name3",22);
Map map = new HashMap();
map.put("b1",bk1);
map.keySet();
map.values();
for(Object o : map.keySet()){ };
2、HashMap和HashTable的异同
相同:实现原理、功能相同,可以互用。
不同:HashTable继承Dictionary类,HashMap实现Map接口。
HashTable线程安全,HashMap线程不安全。
HashTable不允许null值,HashMap允许null值。