目录
Map集合
Map集合概述和特点
1)Map集合是一个将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值。
2)Map与Collection的不同:
Map是双列的,Collection是单列的;
Map的键唯一,Collection的子体系Set是唯一的;
Map集合的数据结构针对键有效,跟值无关;Collection集合的数据结构是针对元素有效。
Map集合的功能
添加功能:
//该方法的作用是向Map集合中添加元素 (键值对),如果键是第一次存储,就直接存储元素,返回null;如果键不是第一次存在,就用新值替换以前的值,并把以前的值返回。 V put(K key, V value)
删除功能:
//移除所有的键值对元素 void clear() //根据 键 删除键值对元素,并把该元素返回 V remove(Object key)
判断功能:
//判断集合是否包含指定的键 boolean containsKey(Object key) //判断集合是否包含指定的值 boolean containsValue(Object value) //判断集合是否为空 boolean isEmpty()
获取功能:
//返回一个键值对的Set集合 Set<Map.Entry<K,V>> entrySet() //根据键获取值 V get(Object key) //获取集合中所有键的集合 Set<K> keySet() //获取集合中所有的集合 Collection<V> values()
长度功能
//返回集合中的键值对的对数 int size()
Map集合的遍历-键值对对象找键和值
创建HashMap集合,向集合中添加数据,使用forEach遍历集合获取键值对对象,打印键和值
import java.util.HashMap;
import java.util.function.BiConsumer;
public class Test {
public static void main(String[] args) {
HashMap<Integer, String> hashMap = new HashMap<>();
hashMap.put(12,"aa");
hashMap.put(14,"bb");
hashMap.put(62,"cc");
hashMap.put(42,"dd");
hashMap.forEach(new BiConsumer<Integer, String>() {
@Override
public void accept(Integer integer, String s) {
System.out.println(integer+"="+s);
}
});
}
}
Map集合的遍历-键找值
创建HashMap集合,向集合中添加数据,keySet()方法获取集合中所有键的集合,遍历获取到的集合,使用get()方法打印键值对。
import java.util.HashMap;
import java.util.Set;
public class Test2 {
public static void main(String[] args) {
//Map集合的遍历-键找值
HashMap<Integer, String> hashMap = new HashMap<>();
hashMap.put(12, "aa");
hashMap.put(14, "bb");
hashMap.put(62, "cc");
hashMap.put(42, "dd");
Set<Integer> keys = hashMap.keySet();
for (Integer key : keys) {
String s = hashMap.get(key);
System.out.println(key + "=" + s);
}
}
}