Map集合
来源:互联网 发布:软件开发项目风险 编辑:程序博客网 时间:2024/05/16 12:11
Map集合
特点: 该集合存储键值对。一对一对往里存,而且要保证键的唯一性。
方法
添加
i. put(K key, V value)
返回的V,为之前同键的值。
ii. putAll(Map<? extends K , ?extends V> M)
删除
i. clear():清空
ii. remove()
判断
i. containsValue(Object value);
ii. containsKey(Object key);
iii. isEmpty();
获取
get(Object key)
可以通过get方法的返回值来判断一个键是否存在,通过返回null来判断
size()
values()
获取map集合中所有的值,返回的是collection集合。并且有泛型,需指定类型
Set<Map.Entry<k,v>> entrySet():
将map集合中的映射关系存入到set集合中,而这个关系的数据类型就是map.Entry.
首先将Map集合中的映射关系取出,存入到Set集合中。例:
Set<Map.Entry<String,String>> entrySet =map.entrySEt();
Map.Entry:其实Entry也是一个接口,它是Map接口中的一个内部接口。
Set<K> keySet():
将Map中所有的键存入到Set集合。因为Set集合具备迭代器,所以可以通过迭代方式取出所有的键,再根据get方法,获取每一个键对应的值。
Map的子类
Hashtable
底层是哈希表的数据结构,不存入null键和null值。该集合是线程同步的。
HashMap
底层是哈希表的数据结构,允许使用null键和null值,该集合是不同步的。
TreeMap
底层是二叉树的数据结构,线程不同步。可以用于给map集合中的键进行排序。
Set底层就用使用的Map集合
当存入同键的值时,会替换之前的同键的值。
当发现有映射关系时,可以选择Map集合,因为map集合中存放就是映射关系。
map扩展知识
map集合被使用是因为具备映射关系。
keySet() :
Set<String> set = hm.keySet();
Iterator<String> it = set.iterator();
while(it.hasNext()){
String strkey = it.next();
String strval = hm.get(strkey);
System.out.println(strkey+":::::"+strval);
}
entrySet()
Set<Map.Entry<String,String>> set = hm.entrySet();
Iterator<Map.Entry<String,String>> it = set.iterator();
while(it.hasNext()){
Map.Entry<String,String> me = it.next();
String key = me.getKey();
String val = me.getValue();
System.out.println(key+"::::"+val);
}
- Map 集合
- Map集合
- Map集合
- map集合
- Map集合
- map集合
- Map集合
- Map集合
- Map集合
- Map集合
- Map集合
- map集合
- Map集合
- Map集合
- Map集合
- Map集合
- Map集合
- Map集合
- String、StringBuffer、StringBuilder
- 集合、list、迭代、linkedList
- ADO.NET中的五个主要对象
- Set集合:HashSet、TreeSet、泛型
- eclipse约定
- Map集合
- jsp的查询和分页
- CSS3属性box-shadow使用教程
- 收集了一些python的文章
- 工具类:Collections 、Arrays
- [面试题] 2010~2011年度搜狐、腾讯、网易、淘宝、阿里巴巴、百度等多家名企Web前端开发面试题!
- Immutable(多线程学习系列 - 2 - Immutable Pattern的补充)
- Linux 串口编程
- System、Runtime、Date、Calendar、Math