Map集合接口
2019-04-07 / JAVA / 948 次围观 / 0 次吐槽 /Map是属于java.util的一个接口Map<K,V>
类型参数:
K - 映射所维护的键的类型
V - 映射值的类型
Map是将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
Map接口和Collection接口的不同
--Map是双列的,Collection是单列的
--Map的键唯一,Collection的Set是唯一的,List不是惟一的
Map:有几个常用的子类HashMap,LinkedHashMap,TreeMap,Hashtable,Properites
Map的功能
添加功能
V put(K key,V value):添加元素。
如果键是第一次存储,就直接存储元素,返回null
如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
删除功能
void clear():移除所有的键值对元素
V remove(Object key):根据键删除键值对元素,并把值返回
判断功能
boolean containsKey(Object key):判断集合是否包含指定的键
boolean containsValue(Object value):判断集合是否包含指定的值
boolean isEmpty():判断集合是否为空
获取功能
V get(Object key):根据键获取值
Set<K> keySet():获取集合中所有键的集合
Collection<V> values():获取集合中所有值的集合
长度功能
int size():返回集合中的键值对的个数
HashMap使用注意事项
声明HashMap时的键值可以是任意对象
如果有重复的键,会把以前的替换
值能为空
键能为空,但这样写没什么意义
put方法的返回值
如果键是第一次存储,就直接存储元素,返回null
如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
Map的遍历,有两种方式
Map集合的遍历一(键找值)
//创建Map对象
Map<String,String> map = new HashMap<String,String>();
//获取map所有键
Set<String> keys = map.keySet();
//遍历键
for(String key : keys){
//通过key获取值
String value = map.get(key);
}
Map集合的遍历二(键值对对象Entry找键和值)
// 创建Map对象
Map<String,String> map = new HashMap<String,String>();
//java.util.Map.Entry
/**
* Entry:称为键值对 对象
* */
Set<Entry<String, String>> entries = map.entrySet();
//遍历
for(Entry<String, String> entry : entries){
String key = entry.getKey();
String value = entry.getValue();
}
LinkedHashMap
LinkedHashMap是存和取的顺序是一样
HashMap是存和取的顺序不是一样
LinkedHashMap它是继承HashMap
TreeMap
TreeMap会对键key进行排序
TreeMap的key,如果是自定义对象话,这个对象要实现Comparable接口,
或者说在new TreeMap的时候,传一个comparator参数
- 上一篇:Set集合接口
- 下一篇:HashMap和Hashtable区别
Powered By Cheug's Blog
Copyright Cheug Rights Reserved.