Map集合:该集合存储键值对,一对一往里存,而且要保证键的唯一性。
1,添加,
put(K key,V value);
2,删除,
clear();
remove(Object key);
3,判断,
containsValue(Object value);
containskey(Object key);
4,获取,
get(Object key);
size();
values();
entrySet();
keySet();
Map
--Hashtable
底层是哈希表数据结构,不可以存入null键和值,该集合是线程同步的,jdk1.0
--HashMap
底层是哈希表数据结构,允许null键和值,该集合不同步,jdk1.2
--TreeMap
底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序
和Set很像,其实Set底层就是使用了Map集合
HashMap-----
Map<String,String> map=new HashMap<String,String>();
map.put(null,"haha");
map.get(null);
以上这种情况是可以,map集合允许空,,但是 在实际开发中很少用,
可以通过get方法的返回值来判断一个键是否存在
Collection<String> coll=map.values();
获取map集合中所有的值
注意:put方法添加元素时,如果出现相同的键,那么后添加的值会覆盖原有的值,
并返回被覆盖的值
map集合的两种取出方式,
1,Set<V> keySet:将map中所以的键存入到Set集合,因为Set具备迭代器,
可用迭代方式取出所有的键,在用get方法,获取每一个键的值
取出原理:将map集合转成set集合,在通过迭代器取出
2,entrySet:
keySet:
Map<String,String> map=new HashMap<String,String>();
map.put("01","haha1");
map.put("02","haha2");
map.put("03","haha3");
//先获取所以的set集合,
Set<String> keySet=map.keySet();
//获取其迭代器,
Iterator<String> it=keySet.iterator();
while(it.hasNext()){
String key=it.next();
//用键获取起对于的值
String value=map.get(key);
} |
|