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+" "+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+" "+value); } }