接口:java.util.Map<K, V>

实现:

java.util.HashMap<K, V>:哈希表
java.util.TreeMap<K, V>:平衡树

getOrDefault

map.getOrDefault("key", default)//如果map里有key就返回key对应的value,没有就返回default
在查找场景中,defualt设置为0,如果查询结果为空,则返回0;
public class HashMaptest {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("张三", 23);
        map.put("赵四", 24);
        map.put("王五", 25);
        String age= String.valueOf(map.getOrDefault("赵四", 30));
        //String age = map.getOrDefault("赵四", 30);
        System.out.println(age);// 24,map中存在"赵四",使用其对应值24
        String age2 = String.valueOf(map.getOrDefault("刘能", 30));
        System.out.println(age2);// 30,map中不存在"刘能",使用默认值30
        System.out.println(map);
    }
}

image

遍历map 中的 key 和 value

public static void main(String[] args) {
        Boolean a=isAnagram("abczxcvbnm","cabmnbvcxz");
        System.out.println(a);

    }
    public static boolean isAnagram(String s, String t) {
        if(s.length()!=t.length()) return false;
        Map<Character,Integer> map=new HashMap<>();
        for(int i=0;i<s.length();i++){
            map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0)+1);
            map.put(t.charAt(i),map.getOrDefault(t.charAt(i),0)-1);
        }
        for(Integer value:map.values()){    //单独遍历 vulue
            if(value!=0) return false;

        }
        for(Character x:map.keySet()){    //单独遍历key
            System.out.println(s);

        }
        for (Map.Entry<Character, Integer> entry : map.entrySet()) {    //key value一起遍历
            Character mapKey = entry.getKey();
            Integer mapValue = entry.getValue();
            System.out.println(mapKey + ":" + mapValue);
        }

        return true;        

    }

}

putAll 将另一个Map存入当前map

Map<String,String> map = new HashMap<>();
        //添加符合要求的健值存入map
        map.put("A","a");
        map.put("B","b");
        Map<String,String> map1 = new HashMap<>();
        map1.put("C","c");
        map1.put("D","d");
        map1.put("E","e");
        //将另一个Map存入当前map
        map.putAll(map1);
        System.out.println(map);
        System.out.println(map1);

image

boolean containskey = map.containsKey("A");
//根据key是否存在返回一个布尔值

keySet()

返回Map里面所有的Key ,返回类型为Set集合(不重复)

Set<String> key = map.keySet();

[A, C, D, E]

values()

返回Map里面所有的value,返回类型为Collection集合(可以重复);

Collection collection = map.values();
[aa, c, d, e]

原文地址:http://www.cnblogs.com/wdnmdp/p/16829814.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性