Map集合
来源:互联网 发布:网络接入设备集线器 编辑:程序博客网 时间:2024/06/03 23:42
注意:
看到array,就要想到角标。看到link,就要想到first,last。看到hash,就要想到hashCode,equals,看到tree,就要想到两个接口(Comparable和Comparator)
Map和Collection在集合框架中属并列存在。
1:Map存储的是键值对
2:Map存储元素使用put方法,Collection使用add方法
3:Map集合中没有直接取出元素的方法,而是转为Set集合,再通过迭代获取元素
4:Map集合中键要保持唯一性。
换句话说,Collection是单列集合,Map是双列集合
总结:
Map一次存入一对元素,Collection一次存一个,Map的键不能重复,保证唯一。
Map一次存入一对元素,是以键值对的形式存在。键与值存在映射关系,一定要保证键的唯一性。
Map的常用方法
1:添加
V put(K key, V value) (可以相同的key值,但是添加的value值会覆盖前面的,返回值是前一个,如果没有就返回null)
putAll(Map m) 从指定映射中将所有映射关系复制到此映射中(可选操作)。
2:删除
remove() 删除关联对象,指定key对象
clear() 清空集合对象
3:获取
value get(key) 可以用来判断键是否存在的情况。当指定的键不存在的时候,返回的是null
4:判断
boolean isEmpty() 长度为0返回true否则false
boolean containsKey(Object key)判断集合中是否包含指定的key
boolean containsValue(Object value) 判断集合中是否包含指定的value
5:长度
int size()
6:获取功能
获取功能
Set<Map.Entry<K,V>>
entrySet():
V get(Object key):根据键获取值
Set<K>
keySet():获取集合中所有键的集合
Collection<V>
values():获取集合中所有值的集合
示例:
public class MapDemo { public static void main(String[] args) {// 创建集合对象 Map<String, String> map = new HashMap<String, String>();// 添加元素// V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲// System.out.println("put:" + map.put("文章", "马伊俐"));// System.out.println("put:" + map.put("文章", "姚笛"));map.put("邓超", "孙俪");map.put("黄晓明", "杨颖");map.put("周杰伦", "蔡依林");map.put("刘恺威", "杨幂");// void clear():移除所有的键值对元素// map.clear();// V remove(Object key):根据键删除键值对元素,并把值返回// System.out.println("remove:" + map.remove("黄晓明"));// System.out.println("remove:" + map.remove("黄晓波"));// boolean containsKey(Object key):判断集合是否包含指定的键// System.out.println("containsKey:" + map.containsKey("黄晓明"));// System.out.println("containsKey:" + map.containsKey("黄晓波"));// boolean isEmpty():判断集合是否为空// System.out.println("isEmpty:"+map.isEmpty());//int size():返回集合中的键值对的对数System.out.println("size:"+map.size());// 输出集合名称System.out.println("map:" + map); }}
注意:Map没有迭代器,所以想取出map中的所有元素必须通过keySet()方法获取map中所有的键所在的set集合,再通过set的迭代器获取每一个键,再对每一个键通过map集合的get()方法获取其对应的值即可。
Map集合:keySet()方法
之前讲Mpa集合时,Map集合是用来存储一对key-value两个对象,既然存储的是两个对象,那么能不能只获取其中一个所有对象?
可以。Map集合属于双列集合,里面有两个单列集合。
问题:Map中的key对象,Map应该使用哪个集合存储?
key必须保证唯一性(不能重复),使用Set集合存储。
Map中的keySet方法:获取Map集合中所有的key对象
Map集合:entrySet()方法
Map集合中存储的是一对key-value的映射关系(对应关系 、键值关系)
映射关系:key-value对应关系。
映射关系在底层代码上怎么体现:Map.Entry来存储key-value映射关系
Map集合的entrySet方法:获取Map集合中所有的key-value映射关系
映射关系类型:Map.Entry
map集合:values()方法
之前使用keySet方法可以获取 Map集合中的的所有key对象,而values方法就是获取Map集合中的的所有value对象
Map集合的values对象:获取集合中所有的value
参考博客:http://www.cnblogs.com/lwlxqlccc/p/6143887.html
- Map 集合
- Map集合
- Map集合
- map集合
- Map集合
- map集合
- Map集合
- Map集合
- Map集合
- Map集合
- Map集合
- map集合
- Map集合
- Map集合
- Map集合
- Map集合
- Map集合
- Map集合
- 嵌入式C语言常用关键字
- Mysql 自学小总结(精炼)
- oracle误删除数据的恢复方法
- 初窥javaScrit权威指南,第四章表达式和运算符
- 【机器学习笔记】Hessian矩阵
- Map集合
- python教程网站
- 字符串转整数
- 蘑菇街2016研发工程师在线编程题
- angularJS的第一个demo
- easygui 写一个文本框
- POJ 2109--Power of Cryptograhpy
- 在Android Studio中进行单元测试和UI测试
- 嵌入式多路温湿度监控系统(一项目流程思路)