1Map
Collection是孤立存在的,向集合中存储元素是一个一个放进去的
Map中的集合存储是成对的,可以通过键找到值。即将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
注意:Map集合中不能包含重复的键,但是可以包含重复的值,如果重复,覆盖之前的值。
2.子类
HashMap、LinkedHashMap
3.方法
clear(): 从此映射中移除所有映射关系(可选操作)。
containsKey():如果此映射包含指定键的映射关系,则返回 true。
get():返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null
。
isEmpty():如果此映射未包含键-值映射关系,则返回 true。
keySet():返回此映射中包含的键的 Set
视图。
put():将指定的值与此映射中的指定键关联,放入集合
size():返回此映射中的键-值映射关系数。
remove():如果存在一个键的映射关系,则将其从此映射中移除,得到的值是被移除的元素值
values()返回此映射中包含的值的 Collection
视图。
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1, "张三");
map.put(2, "李四");
map.put(3, "王五");
map.put(4, "马六");
System.out.println(map);
String s1 = map.remove(4); //根据键移除相应的元素之
System.out.println("s1:"+s1);
System.out.println(map);
String s2 = map.get(1);
System.out.println(s2);
}
3遍历(keySet)
用Set集合存储Map的键
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1, "张三");
map.put(2, "李四");
map.put(3, "王五");
map.put(4, "马六");
Set<Integer> set = map.keySet(); //此方法将map的键用set集合存储起来
Iterator it = set.iterator(); //生成set的迭代器,用来遍历map的键
while(it.hasNext()) {
Integer key = (Integer)it.next(); //获得map的键
String value = map.get(key); //获得对应map键的值
System.out.println(key+"\t"+value);
}
}
增强型for循环
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1, "张三");
map.put(2, "李四");
map.put(3, "王五");
map.put(4, "马六");
for(Integer key:map.keySet()) {
String value = map.get(key);
System.out.println(key+"\t"+value);
}
}