java之集合(二)
程序员文章站
2022-05-13 20:01:03
...
java之集合(二)
六、映射
<K,V>
K :key 键
V: value 值
Key-value 键值对
Map中将键和值放在一起,表示成了一个类–Entry
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class MapDemo {
public static void main(String[] args) {
Map<String,Integer> map = new HashMap<>();
// 添加数据
// 添加一个键值对 键(key)是德玛西亚 值(value) 100
map.put("德玛西亚", 100);
// 如果有相同的key,那么会被覆盖
map.put("帅哥", 60);
map.put("帅哥", 90);
map.put("美女", 80);
map.put("小姐姐", 70);
map.put(null, null);
map.put(null, 1);
System.out.println(map);
//
// // 查看是否有key
// boolean b = map.containsKey("美女1");
// System.out.println(b);
//
// // 查看是否有value
// System.out.println(map.containsValue(71));
//
// // 根据key获取value
// Integer value = map.get("小姐姐");
// System.out.println(value);
//
// System.out.println(map);
// // 删除
// map.remove("德玛西亚");
// System.out.println(map);
//
// // 将所有的value转换为集合
// Collection<Integer> coll = map.values();
// System.out.println(coll);
// 遍历map的方式一
// 获取键值对的对象的set
Set<Entry<String,Integer>> set = map.entrySet();
// 遍历map 获取所有的key和value
// 遍历set -- 使用迭代器
Iterator<Entry<String,Integer>> it = set.iterator();
while (it.hasNext()){
// 获取到所有的键值对
Entry<String,Integer> entry = it.next();
// 获取key
String key = entry.getKey();
// 获取value
Integer v = entry.getValue();
System.out.println("key是 " + key + "\t" + "value 是 " + v);
}
// 遍历map的方式二
// [fef,ere,tert,ere]
// 通过key再获取value
// System.out.println(map.keySet());
Set<String> set1 = map.keySet();
// 遍历set获取每一个key
// 获取迭代器
Iterator<String> it1 = set1.iterator();
while (it1.hasNext()){
String key = it1.next();
// 通过key获取到value
Integer v = map.get(key);
System.out.println("key是 " + key + "\t" + "value 是 " + v);
}
// 遍历map方式三
for (Entry<String,Integer> e : map.entrySet()) {
System.out.println("key的值是 = " + e.getKey() + "value的值是 =" + e.getValue());
}
}
}
HashMap是异步线程不安全的,初始容量16,加载因子默认是0.75
HashMap可以将键值设置为null
HashTable默认初始容量是11,加载因子默认是0.75
HashTable扩容:每次是原来容量的一倍再加1
10 – 21
HashTable键值不可以为null
映射不是集合
映射属于集合框架(framework)中的一员
集合框架:为数据的存储和取出服务
上一篇: 秋月盈霜夜惆怅