十六章 集合框架(二)
一、掌握Map 接口
Map (key-value键值对 夫妻对)
HashMap<Key,Value>
key 是唯一的 value 可以重复,如果key相同,值则会发生覆盖问题
map 无序
可以根据key获取值
Hashtable->Properties
常用API
1.void put (Object key ,Object value);键值对
2.Object get (Object key);根据键获取值 唯一
3.int size (); 获取集合中的键值数量
4.boolean containsKey(Object key);是否包含指定的键
5.boolean containsvalue(Object value); 是否包含指定的值
6.Set key set(); 获取所有的键集合
7.Collection values ();获取所有的值的集合
8.Object remove(Object key);根据键删除值 返回被删除的值
9.boolean isEmpty(); 判断是否为空集合
10.void clear();清空集合内容
Map集合遍历
// 3.1.增强for遍历 获取键值集合
Set<String> keySet = hashMap.keySet();
// 遍历键集合
for (String key : keySet) {
String value = hashMap.get(key);
System.out.println(key + " == " + value);
}
System.out.println("**********************");
// 3.2.用迭代器遍历
Iterator<String> iterator = keySet.iterator();
while (iterator.hasNext()) {
String key = iterator.next();
String value = hashMap.get(key);
System.out.println(key + " == " + value);
}
System.out.println("**********************");
// 3.3.用条目遍历
Set<Entry<String, String>> entrySet = hashMap.entrySet();
for (Entry<String, String> entry : entrySet) {
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key + " == " + value);
}
System.out.println("**********************");
二、了解HashMap和Hashtable的区别
相同点:
HashMap 和Hashtable 都是Map 接口的实现,都可以实现键值对存储
不同点:
1.HashMap 键值存储都可以为Nu’ll,如果键为null则只能存储一次
Hashtable键值存储都不予许为null
2.HashMap 是线程不安全的 效率低
Hashtable是线程安全的,效率低
三、掌握泛型的基本使用
在集合中来声明元素数据类型的
泛型必须是引用数据类型(包装类型)
JDK1.5中出现包装类 注解 泛型…
1.在集合中用泛型声明集合元素类型
2.利用泛型将(通过泛型占位符来进行扩展)
四、掌握Collections工具类的常用操作
Collections
1.void sort (集合);对集合进行升序排序
2.int max(集合);获取集合中的最大值
3.int min (集合);获取集合中的最小值
4.int binarySearch(集合,要查找的元素);查找指定的键
4.void suffle (集合);打乱集合元素顺序