Java-集合之Map
来源:互联网 发布:网络侦探 贝尔菲兽 编辑:程序博客网 时间:2024/06/05 10:23
Map用于保存具有映射关系的数据。
Map里保存着两组数据:key和value,它们都可以使任何引用类型的数据。value可以重复,但key不能重复。
所以通过指定的key就可以取出对应的value。
Interface Map< K,V >
K - the type of keys maintained by this map
V - the type of mapped values
Map中存放的是键值对。
在向Map对象中添加数据时,用到put(K,V)方法。
例如我们添加一条教师记录
名为 Tom ,教授课程为 CoreJava ,如下实现
Map teacher = new HashMap();teacher.put("Tom","CoreJava");
在移除Map中的某条数据的时候,用到remove(K)方法。
例如我们想要删除名为 Tom的教师记录,如下实现
teacher.remove(Tom);
Map集合的两种取出方式:
一种是 先获取键,再通过键获取值 的方式
Set <K> keySet
一种是 直接获取键值对 的方式
Set<Map.Entry<K,V>> entrySet
先看一个Java面试题
已知某学校的教学课程内容安排如下:
完成下列要求:
1) 使用一个 Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述课程安排。
2) 增加了一位新老师 Allen 教 JDBC
3) 移除名为Lucy的老师的信息记录
4) 遍历 Map,输出所有的老师及老师教授的课程
keySet方式:
package map;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class course { public static void main(String[] args) { //1) 使用一个 Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述课程安排。 Map<String, String> teacher = new HashMap<>(); teacher.put("Tom","CoreJava"); teacher.put("John","Oracle"); teacher.put("Susan","Oracle"); teacher.put("Jim","Unix"); teacher.put("Kevin","JSP"); teacher.put("Lucy","JSP"); //2) 增加了一位新老师 Allen 教 JDBC teacher.put("Allen", "JDBC"); //3) 移除Lucy老师的记录 teacher.remove("Lucy"); //4) 遍历 Map,输出所有的老师及老师教授的课程 Set<String> set = teacher.keySet();//set用来存取每条记录中的 键 --老师的名字 Iterator<String> itrt = set.iterator();//创建遍历器对象,对set遍历 while(itrt.hasNext()){ String key = (String) itrt.next();//获取 键 String value = (String) teacher.get(key);//通过键 查找对应的 值 System.out.println(key+" "+value); } }}
entrySet方式
在获取键时使用
entry.getKey();方法
在获取值是使用
entry.getValue();方法
package map;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;public class course { public static void main(String[] args) { //1) 使用一个 Map,以老师的名字作为键,以老师教授的课程名作为值,表示上述课程安排。 Map<String, String> teacher = new HashMap<>(); teacher.put("Tom","CoreJava"); teacher.put("John","Oracle"); teacher.put("Susan","Oracle"); teacher.put("Jim","Unix"); teacher.put("Kevin","JSP"); teacher.put("Lucy","JSP"); //2) 增加了一位新老师 Allen 教 JDBC teacher.put("Allen", "JDBC"); //3) 移除Lucy老师的记录 teacher.remove("Lucy"); //4) 遍历 Map,输出所有的老师及老师教授的课程 Set<Map.Entry<String, String>> set = teacher.entrySet();//获取键值对 Iterator<Map.Entry<String, String>> itrt = set.iterator();//创建遍历器 while(itrt.hasNext()){ Map.Entry<String, String> entry = itrt.next(); System.out.println(entry.getKey() + " " + entry.getValue()); } }}
阅读全文
0 0
- 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
- java集合之Map
- java集合之Map
- Java集合之Map
- Java集合之Map
- Java-集合之Map
- git添加到idea中流程
- Spring Boot系列教程七:Spring boot集成MyBatis
- css3 实现选项卡小三角形状
- junit 测试私有方法或私有变量
- webpack的使用-基础
- Java-集合之Map
- 九度OJ-题目1163:素数
- tensorflow使用tf.dynamic_rnn技巧
- Windows服务器CPU使用过高(svchost.exe)
- Android 6.0 权限 运行流畅 介绍
- 基于面向对象的选项卡
- JAVA_创建泛型对象
- dbvis MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at lin
- 1032 选大王