【Java之容器】1.Map基本用法

【Java之容器】1.Map基本用法_第1张图片

  • MAP< K,V>
    • 一次添加一对元素,也称为双列集合
    • 存储的是键值对< K,V>,必须保证键(K)的唯一性
    • hashCode和equals方法
    • HashMap
    • TreeMap
  • 常用方法
    【Java之容器】1.Map基本用法_第2张图片
public class Demo {
    public static void main(String[] args) {
        Map map = new HashMap();
        method(map);
    }
    public static void method(Map m) {
        //添加元素
        Sop.sopl(m.put(2,"a"));//null,无原值返回null
        Sop.sopl(m.put(2,"b"));//a,存相同键,值会覆盖,原值返回
        Sop.sopl(m.put(1,"c"));//null
        //Sop.sopl(m);//无序
        //删除元素
        //Sop.sopl(m.remove(2));
        //判断
        //Sop.sopl(m.containsKey(2));
        //获取
        //Sop.sopl(m.get(2));   
    }
}
  • 取出Map集合中所有元素

    【Java之容器】1.Map基本用法_第3张图片

public class Demo {
    public static void main(String[] args) {
        Map map = new HashMap();
        method(map);
    }
    public static void method(Map m) {
        m.put(2,"b");
        m.put(3,"c");
        m.put(1,"a");
        //通过keySet方法获取集合中所有的键所在的集合Set,再通过Set迭代器获取每一个键
        //再对每一个键通过Map集合的get方法获取对应的值
        Set keySet = m.keySet();
        Iterator it = keySet.iterator();
        while (it.hasNext()) {
            Integer key = it.next();
            String valve = m.get(key);
            Sop.sopl(key + " = " + valve);
        }
    }
}
  • 取出Map集合中所有元素,另一种方法:使用entrySet方法

    【Java之容器】1.Map基本用法_第4张图片

public class Demo {
    public static void main(String[] args) {
        Map map = new HashMap();
        method(map);
    }
    public static void method(Map m) {
        m.put(2,"b");
        m.put(3,"c");
        m.put(1,"a");

        //通过entrySet方法,该方法将集合中键和值的映射关系作为对象存储到了Set集合中
        //而这个关系的类型就是Map.Entry 
        //Entry是Map内部接口
        Set> entrySet = m.entrySet();
        Iterator> it = entrySet.iterator();
        while (it.hasNext()) {
            Map.Entry me = it.next();
            Integer i = me.getKey();
            String s = me.getValue();
            Sop.sopl(i + " = " + s);
        }
    }
}
  • 只获取值V不要键K,使用valves方法,返回Collection
public class Demo {
    public static void main(String[] args) {
        Map map = new HashMap();
        method(map);
    }
    public static void method(Map m) {
        m.put(2,"b");
        m.put(3,"c");
        m.put(1,"a");

        Collection c = m.values();
        Iterator it = c.iterator();
        while (it.hasNext()) {
            String s = it.next();
            Sop.sopl(s);
        }
    }
}

你可能感兴趣的:(【Java之容器】1.Map基本用法)