java基础之Map集合的使用

来源:互联网 发布:贵州省广电网络 编辑:程序博客网 时间:2024/04/29 07:17
public class Pm {    /**     * Map<k,v>:映射,键值对     * 一个映射不能包含重复的值,每个键最多只能映射到一个值     * k--Key     * V--Value     * 1、containsKey(Object key) 查询是否含有该键     * 2、containValue(Object value)查询是否含有该值     * 3、get(Object key)通过键查询值     * 4、put(k key,V Value)添加     * 5、putAll(Map<? extends k,? extends V> m) 添加     * 6、V remove(Object key) 删除映射的同时会拿到该映射的Value值     * 7、Collection<V> values() 拿到由该Map中的值所组成的集合     * 8、replcae(K key , V value) 修改该映射     *      *      * Map     * |---HashMap:底层是哈希表,null可以作为键或值,是线程不同步(运行效率高)     * |---TreeMap:底层是二叉树结构,会进行一个排序,是线程不同步的(运行效率高)     * |---HashTable:底层是哈希表,null不能作为键或者值,是线程同步的(运行效率低)     *      * 需求:遍历一个HashMap     * 特殊方法:     * 1Set<> keySet() 将map中所有的键取出并存入一个Set集合中     * 2Set<Map.Entry<K,V> entrySet() 将map中的映射关系取出并存入一个set集合中     *    Map.Entry<K,V>值得是一组键值对     *         *    map是如何保证唯一性的:通过hashCode()和equals()两个方法同时的决定     * 需求:有5个学生,将学会的姓名(String name)、地址(String address)存放进map中,形成映射     * 当学生的姓名年龄同时相等时,这时同一个学生,不存     *      * 当自己创建的类生成的对象生成的key作为存放进map的时候,需要重写hashCode()和equals()方法     * 指定规则:什么时候键重复     */    public static void main(String[] args) {        Map<String,String> map=new HashMap<String, String>();        //map保证唯一性前提是会对Key进行是否存在的判断,而后决定是先移除再添加还是直接添加        map.put("abc", "学生");        map.put("abc", "老师");        map.replace("abc", "工人");        map.put("abc1", "1");        map.put("abc2", "2");        map.put("abc3", "3");        map.put("abc4", "4");        //keySet        /*Set<String> set=map.keySet();        Iterator<String> iterator=set.iterator();        while (iterator.hasNext()) {            String key=iterator.next();            System.out.println(key+"对应"+map.get(key));        }*/        //entrySet()        Set<Map.Entry<String, String>> set=map.entrySet();        Iterator<Map.Entry<String, String>> iterator=set.iterator();        while (iterator.hasNext()) {            Map.Entry<String, String> entry=iterator.next();            System.out.println(entry.getKey()+"对应"+entry.getValue());        }    }}
0 0
原创粉丝点击