question_014-JAVA之Map
来源:互联网 发布:井上真央松本润 知乎 编辑:程序博客网 时间:2024/06/05 00:45
JAVA之Map
-------------------------------------------------------------
----------------------基本功能--------------------
Collection和Map的区别
* Map集合的数据结构值针对键有效,跟值无关
* HashMap,TreeMap等。
* Collection集合的数据结构是针对元素有效
*
* Map集合的功能概述:
* 1:添加功能
* V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲
* 如果键是第一次存储,就直接存储元素,返回nul
* 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值
* 2:删除功能
* void clear():移除所有的键值对元素
* V remove(Object key):根据键删除键值对元素,并把值返回
* 3:判断功能
* boolean containsKey(Object key):判断集合是否包含指定的键
* boolean containsValue(Object value):判断集合是否包含指定的值
* boolean isEmpty():判断集合是否为空
* 4:获取功能【重点】
* Set<Map.Entry<K,V>>entrySet(): 键值对对象的集合
* V get(Object key):根据键获取值
* Set<K> keySet():获取集合中所有键的集合
* Collection<V> values():获取集合中所有值的集合
* 5:长度功能
* int size():返回集合中的键值对的对数
·····················································
package com.lyMap;
import java.util.HashMap;
import java.util.Map;
public class MapTest {
public static void main(String[] args) {
// 创建对象
Map<String, String> map = new HashMap<String, String>();
// 添加元素
System.out.println("put: " + map.put("文", "马"));
System.out.println("put: " + map.put("文", "姚"));
map.put("王工", "工薪");
map.put("理工", "数学");
map.put("文科", "语文");
System.out.println("map: " + map);
// 移除元素
// map.clear();
System.out.println("remove: " + map.remove("文科"));
System.out.println("remove: " + map.remove("语文"));
// 判断
System.out.println("contains: " + map.containsValue("理工"));
System.out.println("contains: " + map.containsKey("理工"));
System.out.println("isEmpty: " + map.isEmpty());
// 长度
System.out.println("size: " + map.size());
// 输出map
System.out.println("map: " + map);
}
}
···················································
put: null
put: 马
map: {文=姚, 文科=语文, 理工=数学, 王工=工薪}
remove: 语文
remove: null
contains: false
contains: true
isEmpty: false
size: 3
map: {文=姚, 理工=数学, 王工=工薪}
···················································
获取功能1【重点】
1)获取所有的键的集合
2)遍历每一个键,得到键,然后取键对应的值
package com.lyMap;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapTest2 {
public static void main(String[] args) {
// 创建对象
Map<String, String> map = new HashMap<String, String>();
// 加入对象
map.put("语文", "80");
map.put("数学", "90");
map.put("外语", "99");
map.put("政治", "86");
map.put("历史", "79");
map.put("生物", "98");
// 获取所有的键
Set<String> set = map.keySet();
System.out.println("---------方式1------------");
// 遍历每一个键,得到对应的值
Iterator<String> it = set.iterator();
while(it.hasNext()){
String s = it.next();
String value = map.get(s);
System.out.println(s +"------"+ value);
}
System.out.println("---------方式2------------");
for(String s:set){
String value = map.get(s);
System.out.println(s+"----"+ value);
}
// 输出map
System.out.println("map: " + map);
}
}
·······················结果···················
map: {历史=79, 政治=86, 语文=80, 数学=90, 外语=99, 生物=98}
----------方式1-------------
历史------79
政治------86
语文------80
数学------90
外语------99
生物------98
----------方式2-------------
历史----79
政治----86
语文----80
数学----90
外语----99
生物----98
map: {历史=79, 政治=86, 语文=80, 数学=90, 外语=99, 生物=98}
···················································
获取功能2【重点】
1)遍历所有的键值对对象的集合【entrySet()】
2)遍历每一个键值对对象,获取键和获取对应的值
package com.lyMap;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class MapTest3 {
public static void main(String[] args) {
// 创建对象
Map<String, String> map = new HashMap<String, String>();
// 加入对象
map.put("语文", "80");
map.put("数学", "90");
map.put("外语", "99");
map.put("政治", "86");
map.put("历史", "79");
map.put("生物", "98");
// 获取所有的键值对对象集合
Set<Entry<String, String>> set = map.entrySet();
for (Entry<String, String> me : set) {
String k = me.getKey();
String v = me.getValue();
System.out.println(k +"----"+ v);
}
System.out.println("map: " + map);
}
}
····························输出结果·····················
历史----79
政治----86
语文----80
数学----90
外语----99
生物----98
map: {历史=79, 政治=86, 语文=80, 数学=90, 外语=99, 生物=98}
······························································
- question_014-JAVA之Map
- Java SE 之Map
- Java之map遍历
- java之Map集合
- 【Java】Map之HashMap
- java基础之Map
- Java容器之Map
- Java集合之Map
- Java集合之Map
- JAVA之Map
- Java集合之Map
- Java集合之Map
- JAVA 集合之MAP
- java之Map接口
- java集合之Map
- java 集合之Map
- java容器之Map
- java之Map详解
- redis异常解决:jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set
- iOS开发-基础:Objective-c单例模式的正确写法
- 斐波那契数列
- 内核机制之互斥与同步
- java 解析没有根节点的类xml文件
- question_014-JAVA之Map
- 编程珠玑 5.10调试
- htonl() htons()及inet_ntoa() inet_addr()的用法
- iOS 蓝牙 4.0 开发
- GIF 4.0+版本sig生成方法分享
- NavigationDrawer和NavigationView-Android M新控件
- 自动问答技术简介
- UILocalNotification的使用
- 对一致性Hash算法,Java代码实现的深入研究