java_22 Map接口

时间:2023-03-10 04:14:54
java_22 Map接口

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);
}

java_22 Map接口

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);
}
}

java_22 Map接口