目录
Map接口
Map常用方法
V put(K key,V value)
用put方法时,K相同,新的Value会把原来的覆盖掉,并返回原来的Value值,如果要是K不存在,那么put方法返回的值就是null
V remove(Object key)
进行删除元素的操作,删除之后会返回删除的那个Value值
HashMap类
创建HashMap容器
Map<String,String> map=new HashMap<>();
HashMap获取元素的方法
方法一:使用V get(Object key)方法直接获取
缺点:
- 需要使用Key去获取,所以必须要先知道Key才能获得
- 调用一次get方法只能获得一个值,如果要获得多个元素的时候,就要调用多次,很不方便。
方法二:使用Set KeySet()方法
方法三:使用entrySet()方法
HashMap并集操作
HashMap底层实现了哈希表
注意:
- 两个并集的Map容器的泛型要相同(Key和Value的类型)
- 在做并集操作时,如果Key的值相同,那么,当前使用并集操作的这个容器的Key所对应的Value就要被覆盖掉
map2.putAll(map) 其中,map2是使用并集操作的容器。
TreeMap容器
TreeMap是可以对键进行排序的一种容器
1. 元素自身实现比较规则
让Key所属的类实现Compareble接口,重写CompareTo(To)方法即可
下面的例子是以自定义的Users类作为Key,将Users类实现Comparable接口中的CompareTo方法(根据需要重写此方法)
测试类
Users类的代码
运行结果将会是这样
2. 通过比较器实现比较规则
Key实现比较规则
总的来说,与TreeSet类似,TreeSet只是给元素所属的类另外写了一个类,定义了一个构造器,然后在实例化TreeSet时将比较器对象交给TreeSet来完成元素的排序处理。
而TreeMap则是对Key所属的类,另外写了一个构造器,然后在实例化TreeMap时将Key的比较器对象交给TreeMap来完成元素的排序处理。
下面的例子用到的类有Student类,StudentComparator类,TreeMapTest类