首页 > 其他 > 详细

map的常用方法

时间:2020-04-10 15:03:43      阅读:64      评论:0      收藏:0      [点我收藏+]

map的常用方法

Map接口中定义了很多方法,常用的如下:
public V put(K key, V value) : 把指定的键与指定的值添加到Map集合中。
public V remove(Object key) : 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的
值。
public V get(Object key) 根据指定的键,在Map集合中获取对应的值。
public Set<K> keySet() : 获取Map集合中所有的键,存储到Set集合中。
public Set<Map.Entry<K,V>> entrySet() : 获取到Map集合中所有的键值对对象的集合(Set集合)。

public boolean containKey(Object key) :判断该集合中是否有此键。

1.map.size()

方法作用:获取map集合类的大小(map集合包含键值对关系映射的数量)

示例:

public static void main(String[] args) {
        //new出map实例
       Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
        //返回值为int类型
        int size = map.size();
    //输出size
    System.out.println("map实例中的键值个数为:"+size);
 
 
     }

2.map.values();

方法作用:获取map集合类所有的值(value)

示例:

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
    //得到map实例中所有的value,返回值类型为Collection
    Collection values = map.values();
    //输出values
    System.out.println("map实例中所有的值(value)为"+values);

3.map.keySet();

方法作用:获取map集合所有的键(key)
示例

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
    //获取map实例中所有的键(key),返回值类型为Set
    Set set = map.keySet();
    //输出set
    System.out.println("map实例中所有的key为:"+set);

4.map.get()

方法作用:通过键(key)的名字获取和键相匹配的值(方法映射),如果key或者value为空,则返回null;
示例:

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
    //通过key获取value
    Object o = map.get("1");
    //输出o
    System.out.println("得到的value为:"+o);

5.map.remove()

方法作用:根据key移除map中的与该key对应的value
示例:

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加了3个键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
    //移除key为1的键值
    map.remove("1");
    //输出map的大小
    System.out.println("移除后的map大小为:"+map.size());//此处输出为2

6.map.clear();

方法作用:清空Map集合中所有的键值
示例:

public static void main(String[] args) {
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加了3个键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
    //清空map的键值
    map.clear();
    //输出map的大小
    System.out.println("清空后的map大小为:"+map.size());//此处输出为0

7.Entry

作用:Entry是Map集合中的一个内部接口,用于封装Map集合中的一组键值(key和value)
jdk1.5新特性之前的写法为Map.entry<k,v>,jdk1.5的新特性静态导入的导包方式写法为Entry,两种写法达到的效果一致,并没有什么不同。
前者为父类引用指向子类对象,后者是直接调用子类对象。
示例:

public static void main(String[] args) {
    //获取Map内部接口Entry
    Entry entry;
        //new出map实例
        Map map = new HashMap();
        //向map实例中添加键值
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
    //获得map中键值对的集合
        Set set = map.entrySet();
        //得到集合的迭代器
        Iterator iterator = set.iterator();
        //遍历迭代器
        while (iterator.hasNext()){
            //遍历出的键值放进entry集合里
            entry=(Map.Entry) iterator.next();
            //得到entry的key
            String key = (String) entry.getKey();
            //得到entry的value
            String value = (String) entry.getValue();
        //输出key和value
            System.out.println("得到的key为"+key);
            System.out.println("得到的value为"+value);
        }
    

8.map.putAll()

方法作用:把一个map集合合并到另一个map集合里
示例:

public static void main(String[] args) {
        //new出map1实例
        Map map1 = new HashMap();
        //向map1实例中添加了3个键值
        map1.put("1","飞机");
        map1.put("2","坦克");
        map1.put("3","大炮");
    //输出map1的大小
    System.out.println("map1的大小为:"+map1.size());//此处输出为3
    //new出map2实例
        Map map2 = new HashMap();
        //向map2实例中添加了2个键值
        map2.put("4","苹果");
        map2.put("5","香蕉");
    //输出map2的大小
    System.out.println("map2的大小为:"+map2.size());//此处输出为2
    //把map2合并到map1里
    map1.putAll(map2);//合并时如果map2的key与map1的key有重复的,则map2的键值覆盖与map1重复的键值
    System.out.println("合并后的map1大小为:"+map1.size());//此处输出为5
    

9.JDK8新特性新增的lambda表达式遍历Map的方法——Map.forEach();

public static void main(String[] args) {
        Map<String,String> map = new HashMap<>();
        map.put("1","飞机");
        map.put("2","坦克");
        map.put("3","大炮");
        map.forEach((k,v)-> {
            System.out.println(k+":"+v);
        });

 

map的常用方法

原文:https://www.cnblogs.com/zeus-luna/p/12673036.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!