JAVA总结系列之Map
2016-07-28 16:33
435 查看
Map:一次添加一对元素。Collection 一次添加一个元素。
Map也称为双列集合,Collection集合称为单列集合。
其实map集合中存储的就是键值对。
map集合中必须保证键的唯一性。
常用方法:
1,添加。
value put(key,value):返回前一个和key关联的值,如果没有返回null.value:值
但都会向其中添加现在输入的一对。
2,删除。
void clear():清空map集合。
value remove(key):根据指定的key翻出这个键值对。
3,判断。
boolean containsKey(key):
boolean containsValue(value):
boolean isEmpty();
4,获取。
value get(key):通过键获取值,如果没有该键返回null。
当然可以通过返回null,来判断是否包含指定键。
int size(): 获取键值对的个数。
map的重点方法:
/*Collection(v)
values() 建是唯一的,但是值不是唯一的。
返回此映射中包含的值的 Collection 视图。
*/
keySet()
返回此映射中包含的键的 Set 视图
详细用法见MapDemo.java
Map常用的子类:
|--Hashtable :内部结构是哈希表,是同步的。不允许null作为键,null作为值。
|--Properties:用来存储键值对型的配置文件的信息,可以和IO技术相结合。
|--HashMap : 内部结构是哈希表,不是同步的。允许null作为键,null作为值。
|--TreeMap : 内部结构是二叉树,不是同步的。可以对Map集合中的键进行排序。
Map集合和Collection集合的区别?
1,Map中一次存储是键值对。
Collection中一次存储是单个元素。
2,Map的存储使用的put方法。
Collection存储使用的是add方法。
3,Map的取出,是讲Map转成Set,在使用迭代器取出。
Collection取出,使用就是迭代器。
4,如果对象很多,必须使用容器存储。
如果元素存在着映射关系,可以优先考虑使用Map存储或者用数组,
如果没有映射关系,可以使用Collection存储。
Map常用的子类:
Hashtable :内部结构是哈希表,是同步的。不允许null作为键,null作为值。
Properties:用来存储键值对型的配置文件的信息,可以和IO技术相结合。
HashMap : 内部结构是哈希表,不是同步的。允许null作为键,null作为值。
TreeMap : 内部结构是二叉树,不是同步的。可以对Map集合
练习:
"fdgavcbsacdfs" 获取该字符串中,每一个字母出现的次数。
现在已经将键与值存储到map集合中了,那么如何将其逐一取出,并转换成字符串打印出来呢?
思路:
首先要将其取出:这就需要利用键的唯一性将map转换成set集合,进而定义出一个迭代器来取出元素。其次要转成字符串输出:这时因为我们最终的目的是转成字符串,所以我们首先要想到是否有字符串对象,可以提供加入以及转成字符串输出等方法。
private static String mapToString(Map<Character, Integer> map) {
StringBuilder sb = new StringBuilder();
//StringBuilder:一个可变的字符序列
Iterator<Character> it = map.keySet().iterator();
//map.keySet()此方法返回此映射中包含的键的 Set 视图,
//iterator()此方法由set调用,返回一个迭代器对象。
while(it.hasNext()){
Character key = it.next();
Integer value = map.get(key);
sb.append(key+"("+value+")");//形式:key(value)
append(String str):将指定的字符串追加到此字符序列。
return sb.toString();
toString():返回此序列中数据的字符串表示形式。
Map也称为双列集合,Collection集合称为单列集合。
其实map集合中存储的就是键值对。
map集合中必须保证键的唯一性。
常用方法:
1,添加。
value put(key,value):返回前一个和key关联的值,如果没有返回null.value:值
但都会向其中添加现在输入的一对。
2,删除。
void clear():清空map集合。
value remove(key):根据指定的key翻出这个键值对。
3,判断。
boolean containsKey(key):
boolean containsValue(value):
boolean isEmpty();
4,获取。
value get(key):通过键获取值,如果没有该键返回null。
当然可以通过返回null,来判断是否包含指定键。
int size(): 获取键值对的个数。
map的重点方法:
/*Collection(v)
values() 建是唯一的,但是值不是唯一的。
返回此映射中包含的值的 Collection 视图。
*/
keySet()
返回此映射中包含的键的 Set 视图
详细用法见MapDemo.java
Map常用的子类:
|--Hashtable :内部结构是哈希表,是同步的。不允许null作为键,null作为值。
|--Properties:用来存储键值对型的配置文件的信息,可以和IO技术相结合。
|--HashMap : 内部结构是哈希表,不是同步的。允许null作为键,null作为值。
|--TreeMap : 内部结构是二叉树,不是同步的。可以对Map集合中的键进行排序。
Map集合和Collection集合的区别?
1,Map中一次存储是键值对。
Collection中一次存储是单个元素。
2,Map的存储使用的put方法。
Collection存储使用的是add方法。
3,Map的取出,是讲Map转成Set,在使用迭代器取出。
Collection取出,使用就是迭代器。
4,如果对象很多,必须使用容器存储。
如果元素存在着映射关系,可以优先考虑使用Map存储或者用数组,
如果没有映射关系,可以使用Collection存储。
Map常用的子类:
Hashtable :内部结构是哈希表,是同步的。不允许null作为键,null作为值。
Properties:用来存储键值对型的配置文件的信息,可以和IO技术相结合。
HashMap : 内部结构是哈希表,不是同步的。允许null作为键,null作为值。
TreeMap : 内部结构是二叉树,不是同步的。可以对Map集合
练习:
"fdgavcbsacdfs" 获取该字符串中,每一个字母出现的次数。
现在已经将键与值存储到map集合中了,那么如何将其逐一取出,并转换成字符串打印出来呢?
思路:
首先要将其取出:这就需要利用键的唯一性将map转换成set集合,进而定义出一个迭代器来取出元素。其次要转成字符串输出:这时因为我们最终的目的是转成字符串,所以我们首先要想到是否有字符串对象,可以提供加入以及转成字符串输出等方法。
private static String mapToString(Map<Character, Integer> map) {
StringBuilder sb = new StringBuilder();
//StringBuilder:一个可变的字符序列
Iterator<Character> it = map.keySet().iterator();
//map.keySet()此方法返回此映射中包含的键的 Set 视图,
//iterator()此方法由set调用,返回一个迭代器对象。
while(it.hasNext()){
Character key = it.next();
Integer value = map.get(key);
sb.append(key+"("+value+")");//形式:key(value)
append(String str):将指定的字符串追加到此字符序列。
return sb.toString();
toString():返回此序列中数据的字符串表示形式。
相关文章推荐
- JAVA通过WebService上传文件
- Spring4笔记----工厂方法配置bean
- 安装maven时安照说明配置环境变量JAVA_HOME
- JAVA定时器实现之一(通过继承TimerTask)
- java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream问题的解决
- struts2中获得jsp元素值使用接口方法
- eclipse插件OpenExplorer快速打开文件目录
- java基础知识问题解答
- 简单的mybatis+spring+junit整合
- Insight task:annotation-driven 解析 | Insight 常识
- java语言基础入门——字符串两种建立方式的比较
- java按一定数量补0,随机数获取
- java读取遍历excel
- 深入理解Java:注解(Annotation)自定义注解入门
- Java注释@interface的用法
- Spring高级应用之注入各类集合
- Java之SPI机制
- 8、Java并发编程:同步容器
- RandomAccessFile 使用示例
- 字符流