Map集合

2018-11-14  本文已影响6人  我把心事寄流年

特点

  1. 一一对应

  2. 元素成对存在,由键(key)与值(value)两部分构成。

  3. 双列集合

  4. 键是唯一的,但是值可以重复。一个键只能对应一个值


常见子类有HashMap集合和LinkedHashMap集合

HashMap集合特点:元素的存储顺序不一致

LinkedHashMap特点:元素存取顺序一致

共同点:需要重写hashCode和equals方法。泛型的数据类型,可以相同,也可以不同。


常用方法:

创建集合:
HashMap<K,V> map = new HashMap<>();
添加对象
map.put(key,value);
覆盖对象(key值不变,value变)
map.put(key,value);//和上面put里面的key保持一样。
删除对象
map.remove(key);
获取指定key上的值(value):
map.get(key);
判断集合中是否有此时输入的键(key):
map.containsKey(key);
判断集合中此时是否有输入的值(value)
map.containsValue(value);
获取集合中所有的键到Set集合:
map.keySet();
获取集合中的键值对对象到Set集合(相当于复制map集合到Set集合)
map.entrySet();

Map集合遍历value值:

1.先将map集合存到Set集合中

2.然后for循环,利用map.get(key)方法

例:

package A;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Demo {
    public static void main(String[] args) {
        HashMap<Integer,String> map = new HashMap<>();
        map.put(1,"小明");
        map.put(2,"小刚");
        map.put(3,"小强");
        Set<Integer> set = map.keySet();
        for (Integer key : set) {
            String value = map.get(key);
            System.out.println(value);
        }
    }
}
        

Map集合遍历键与值

1.先需要用entrySet()方法将Map集合存储到Set集合中。

2.然后for循环遍历,利用entry.getKey()和entry.getValue()方法

例:

package A;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Demo {
    public static void main(String[] args) {
        HashMap<Integer,String> map = new HashMap<>();
        map.put(1,"小明");
        map.put(2,"小刚");
        map.put(3,"小强");
        Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
        for (Map.Entry<Integer, String> entry : entrySet) {
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println(key+"="+value);
        }
    }
}


上一篇 下一篇

猜你喜欢

热点阅读