Map (Key-value 键值对/夫妻对)
1.掌握Map接口的使用
HashMap<Key,Value>
map 无序 获取键值根据Key
常用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.Setkey set();获取所有键的集合
7.Collection values();获取所有的值的集合
8.Object remove (Object key);根据键删除值 返回被删除的值
9.boolean isEmpty();判断是否为空集合
10.void clear();清空集合内容
三种遍历集合方式:
public class Demo1 {
public static void main(String[] args) {
Map<String, String> hashMap = new HashMap<>();
hashMap.put(“CN”, “中国”);
hashMap.put(“RU”, “俄国”);
hashMap.put(“UK”, “英国”);
// 获取键集合
Set keySet = hashMap.keySet();
// 遍历键集合[推荐]
/for (String key : keySet) {
// 根据键获取值
// keySet.get(key)
String value = hashMap.get(key);
System.out.println(key+" --> "+value);
}/
// 迭代器遍历
Iterator iterator = keySet.iterator();
while(iterator.hasNext()) {
String key = iterator.next();
String value = hashMap.get(key);
System.out.println(key+" --> "+value);
}
}
}
2.了解HashMap和Hashtable
线程安全问题
多线程:重,难点
相同点:
1.HashMap 和 Hashtable 都是map 接口实现的,都可以实现键值对存储
不同点:
1.HashMap 键值存储都可以为 null 如果键为null 则只能存储第一位
hashtable键值存储都不允许为null
2.HashMap是线程不安全的 效率低
hashtable 是线程安全的 效率低
3.掌握泛型的使用
在集合中来声明元素数据类型的
泛型必须是引用数据类型(包装类型)
包装类 注解 泛型…
1.在集合中用泛型声明集合元素类型
2.利用泛型将(通过泛型占位符来进行扩展)
4.掌握collections工具类的常用操作
Arrays
Collections
1.void sort(集合);对集合进行升序排序
2.int max(集合);获取集合中的最大值
3.int min(集合);获取集合中的最小值
4.int binarySearch(集合,要查找的元素);查找指定键
5.void suffle(集合);打乱集合元素顺序