(1)将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
(2)Map和Collection的区别?
A:Map 存储的是键值对形式的元素,键唯一,值可以重复。夫妻对
B:Collection 存储的是单独出现的元素,子接口Set元素唯一,子接口List元素可重复。光棍
(3)Map接口功能概述(自己补齐)
A:添加功能
B:删除功能
C:判断功能
D:获取功能
E:长度功能
(4)Map集合的遍历
A:键找值
a:获取所有键的集合
b:遍历键的集合,得到每一个键
c:根据键到集合中去找值
B:键值对对象找键和值
a:获取所有的键值对对象的集合
b:遍历键值对对象的集合,获取每一个键值对对象
c:根据键值对对象去获取键和值
代码体现:
Map<String,String> hm = new HashMap<String,String>();
hm.put("it002","hello");
hm.put("it003","world");
hm.put("it001","java");
//方式1 键找值
Set<String> set = hm.keySet();
for(String key : set) {
String value = hm.get(key);
System.out.println(key+"---"+value);
}
//方式2 键值对对象找键和值
Set<Map.Entry<String,String>> set2 = hm.entrySet();
for(Map.Entry<String,String> me : set2) {
String key = me.getKey();
String value = me.getValue();
System.out.println(key+"---"+value);
}
代码部分
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
//map集合的获取
//Set<K> keySet() 获取所有键的集合
//V get(Object key) 获取值得集合
//Collection<V> values() 返回此映射中包含的值
public class MapTest {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("刘恺威", "杨幂");
map.put("黄晓明", "杨颖");
map.put("文章", "马伊琍");
// Set<K> keySet() 获取所有键的集合
System.out.println("Set<K> keySet() 获取所有键");
Set<String> set = map.keySet();
for (String key : set) {
System.out.println(key);
}
System.out.println("------------------");
// V get(Object key) 获取值得集合
System.out.println("V get(Object key) 根据key获取单一值");
System.out.println(map.get("刘恺威"));
System.out.println(map.get("黄晓明"));
System.out.println(map.get("文章"));
System.out.println("------------------");
// Collection<V> values() 返回此映射中包含的值
Collection<String> conn = map.values();
System.out.println("Collection<V> values() 返回所有的值");
for (String value : conn) {
System.out.println(value);
}
}
}
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MapTest2 {
/**
* 遍历Map的第一种思路
* 获取所有键的集合
* 遍历键的集合 获取每一个键
* 根据键找值
*
* */
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("郭靖", "黄蓉");
map.put("杨过", "小龙女");
map.put("陈玄风", "梅超风");
// 遍历
// 获取键的集合 然后通过键遍历值
// Set<K> keySet() 获取所有键的集合
Set<String> set = map.keySet();
for (String key : set) {
System.out.println(key + "-----" + map.get(key));
}
}
}
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* 遍历Map的第二种思路 Set<Map.Entry<K,V>> entrySet() 返回键值对对象 获取键值对对象的集合 遍历键值对对象集合 获取每一个键值对对象
* 根据键值对获取键 值
*
*/
public class MapTest3 {
// 遍历map思路二 获得键值对 对象的集合 根据键值对遍历键 值
// Set<Map.Entry<K,V>> entrySet() 返回键值对
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("郭靖", "黄蓉");
map.put("杨过", "小龙女");
map.put("陈玄风", "梅超风");
Set<Map.Entry<String, String>> me = map.entrySet();
for (Map.Entry<String, String> value : me) {
System.out.println(value.getValue() + "------" + value.getKey());
}
}
}