一, Map 接口
1. 在学校的每个学生都有唯一的学号, 通过学号可以查询到这个人的信息, 这两者属于一对一的关系. Map 接口是一个双列集合, 它的每个元素都包含一个键 (key) 和一个值 (Value) 的对象, 这个键和值对象之间的关系是一种对应的关系, 也叫做映射. 在这个 Map 集合访问元素, 指定 key 的值就可以直到对应的 Value 的值.
2.Map 集合常用的方法
void put(Object key,Object value)方法是把指定的值向集合中添加键值对.
Object get(Object key)方法是通过 key 所映射的值, 若映射不包括这个键的映射关系, 返回 null.
boolean containsKey(Obejct key)方法是如果 Map 中是包含这样的 key, 则返回 true, 否则是 false.
boolean containsValue(Object value)方法是如果 Map 中包含这样的 vaule, 则返回 true, 否则返回 false.
Set keySet()方法是获取 Map 中所有的 key 的值.
Collectionvalues()方法是获取 Map 中所有的 value 的值.
Set
二, HashMap 集合
1.HashMap 集合是 Map 接口的一个实现类是用来存储键和值, 而且不能出现重复的键.
2.HashMap 例子的实现:
- import java.util.HashMap;
- import java.util.Map;
- public class t01 {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Map m=new HashMap();
- m.put("1", "Java 程序设计");
- m.put("2", "软件测试");
- m.put("3", "数据库原理及其应用");
- System.out.println(m.get("1"));
- System.out.println(m.get("2"));
- System.out.println(m.get("3"));
- }
- }
运行的结果是:
三, 如何遍历 Map 中所有的键值对?
1. 第一种: 先遍历 Map 集合中所有的键来获取对应的值.
2. 第一种例子的实现:
- import java.util.Map;
- import java.util.*;
- public class a {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Map m=new HashMap();
- // 存储键和值
- m.put("c1", "Java 程序设计");
- m.put("c2", "软件测试");
- m.put("c3", "数据库原理及其应用");
- // 获取键集合
- Set ks=m.keySet();
- Iterator i=ks.iterator();
- while(i.hasNext()){
- String key=(String)i.next();
- // 获取每个键对应的值
- String value=(String)m.get(key);
- System.out.println(key+":"+value);
- }
- }
- }
运行的结果是:
3. 第二种: 先获取 Map 集合中所有的映射关系, 在从这个关系中获取键和值.
4. 第二种例子的实现:
- import java.util.Map;
- import java.util.*;
- public class a {
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Map m=new HashMap();
- // 存储键和值
- m.put("c1", "Java 程序设计");
- m.put("c2", "软件测试");
- m.put("c3", "数据库原理及其应用");
- Set es=m.entrySet();
- Iterator i=es.iterator();
- while(i.hasNext()){
- // 获取集合中键值对应关系
- Map.Entry en=(Map.Entry)(i.next());
- // 获取 Entry 的键和值
- String key=(String)en.getKey();
- String value=(String)en.getValue();
- System.out.println(key+":"+value);
- }
- }
- }
运行的结果是:
四, 总结
本文主要介绍了 Map 接口, HashMap 集合, 如何遍历 Map 中所有的键值对. Map 接口是一个双列集合, 它的每个元素都包含一个键 (key) 和一个值 (Value) 的对象, 它的对应关系就是映射. HashMap 集合是 Map 接口的一个实现类是用来存储键和值, 而且不能出现重复的键. 遍历 Map 中所有的键值对通过 keySet()方法和 entrySet()方法. 通过本文的学习, 希望对你有帮助!
来源: http://developer.51cto.com/art/202108/679804.htm