Map集合输出3种方式

Map(接口):用key--value(键值对)存储数据,Map不能有重复的key
实现类:HashMap(常用),Hashtable,LinkedHashMap
(1)HashMap:
此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。),无序的。
(2) 常用方法:
clear()
containsKey(Object key)
containsValue(Object value)
entrySet():返回此映射所包含的映射关系的 collection 视图
get(Object key) :返回指定键在此标识哈希映射中所映射的值,如果对于此键来说,映射不包含任何映射关系,则返回 null。
keySet():返回此映射中所包含的键的 set 视图
isEmpty():如果此映射不包含键-值映射关系,则返回 true
put(K key, V value) :在此映射中关联指定值与指定键
values():返回此映射所包含的值的 collection 视图
remove(Object key):如果此映射中存在该键的映射关系,则将其删除
size():返回此映射中的键-值映射关系数
(3)3种遍历方式:遍历key值,遍历value值,遍历key-value值
(4)HashMap和Hashtable的区别:
HashMap:允许空值和空键,线程不安全的
Hashtable:不允许空值和空键,线程安全的
LinkedHashMap: 类似于HashMap,但是迭代遍历它时,取得“键值对”的顺序是其插入次序,只比HashMap慢一点。 允许使用 null 值和 null 键

public static void main(String[] args) {
        Map map = new HashMap();
        map.put(101, "zhangsan");
        map.put(102, "lisi");
        map.put(103, "wangwu");
        map.put(104, "zhaoliu");
        Set set = map.keySet();
        for(Integer key:set){
            String value = map.get(key);
            System.out.println("key:"+key+" value:"+value);
        }
        Collection values = map.values();
        Iterator it = values.iterator();
        while(it.hasNext()){
            String value = it.next();
            System.out.print(value+" ");
        }
        Set> entrys = map.entrySet();
        System.out.println("------------------");
        for(Entry entry:entrys){
            int key = (Integer)entry.getKey();
            String value = (String)entry.getValue();
            System.out.println("key:"+key+" value:"+value);
        }
    }

你可能感兴趣的:(Map集合输出3种方式)