JAVA总结系列之Map
来源:互联网 发布:淘宝格子铺怎么入驻 编辑:程序博客网 时间:2024/04/30 17:54
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():返回此序列中数据的字符串表示形式。
- JAVA总结系列之Map
- Java集合系列(11)--Map总结
- Java 数据结构之Map总结
- Java基础知识之-----Map总结
- Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
- Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
- Java 集合系列之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
- Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
- Java 集合系列14之 Map总结(HashMap, Hashtable, TreeMap, WeakHashMap等使用场景)
- Java 集合总结(Collection系列与Map系列)
- Java 集合总结(Collection系列与Map系列)
- Java 集合系列09之 Map架构
- Java 集合系列09之 Map架构
- Java 集合系列09之 Map架构
- Java 集合系列09之 Map架构
- Java总结系列之JDBC
- Java映射总结之Map整体框架
- JAVA学习总结之Map集合
- LINUX C 语言--进程管理(一)
- 《es6标准入门》学习笔记-第二章 let和const命令
- 由多线程内存溢出产生的实战分析
- JAVA通过WebService上传文件
- CocoaPods报错:The dependency '三方框架Name' is not used in any concrete target
- JAVA总结系列之Map
- 《es6标准入门》学习笔记-第三章 变量的解构赋值
- C++11读书笔记—0(迟到的C++11)
- html基本模块
- StringBuilder&& StringBuffer
- Android Service与Activity之间通信的几种方式
- 如何提交内核补丁--checkpatch.pl使用
- Hiding Data from Forensic Imagers – Using the Service Area of a Hard Disk Drive
- 接口自动化测试TestNG 基本语法和TestNG工程建立 (2)