Map的一次小小记录和学习

对于Map集合不太熟悉,所以这次进行加强学习。


Map是一个键值对的集合,key是一个Set集合,value是一个Collection的集合

实现类有三种。HashMapTreeMapHashTable

其中HashMap底层是一个哈希表,键值都可以是null

TreeMap 底层是一个二叉树,支持健排序

HashTable 也是一个哈希表,键值都不可为null,这个可能已经过时了。


如何遍历Map,有很多种方法。这边主要说2种

1. Entry

2. Iterator

Entry:

Map<String, String> map = new HashMap<>();
        map.put("chashaobao1", "123");
        map.put("chashaobao2", "1234");
        map.put("chashaobao3", "1235");
        map.put("chashaobao4", "1236");        
        for(Entry<String, String> s : map.entrySet()) {
            System.out.println(s);
        }

打印的结果:

chashaobao1=123

chashaobao2=1234

chashaobao3=1235

chashaobao4=1236

Iterator iter = map.entrySet().iterator();
        while(iter.hasNext()){
            Entry<String, String> et = (Entry<String, String>) iter.next();
            System.out.println("----------");
            System.out.println(et.getKey());
            System.out.println(et.getValue());
        }

打印的结果:

----------

chashaobao1

123

...........(此处省略)

----------

chashaobao4

1236

结论:都是得到entry对象然后调取方法,获取键值。这些方法都不唯一。还有很多方法可以遍历Map

在Map集合里面还有containskey() 方法来判断是否存有对应的键名.使用containskey可以避免出现一些奇怪的问题.

因为HashMap是允许Null作为键值,所以如果get(),可能会出现判断不了的情况。一种是在集合中没有该键对象,另一种是该键对象为null

这是我对Map的一些浅薄的见解,如有什么不对,请大神指出。虽然感觉看到的人也不多。算是对自己的学习记录一下。

目前正是一个Java的小菜鸟在IT大道中走出的一小步

猜你喜欢

转载自www.cnblogs.com/chashabaoPick/p/9553791.html