读书人

Map施用例子

发布时间: 2012-09-07 10:38:15 作者: rapoo

Map使用例子

/**
?* aa00aa00
?*/
package com.map.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class MapTest {

?public static void main(String[] args) {

??// 遍历map
??Map<String, List<User>> map = new HashMap<String, List<User>>();

??List<User> list1 = new ArrayList<User>();
??String[] str = { "01", "02", "03" };
??User user1 = new User("01", "001", "mapqincy1", 24);
??User user2 = new User("01", "002", "mapqincy2", 25);
??User user3 = new User("01", "003", "mapqincy3", 26);

??list1.add(user1);
??list1.add(user2);
??list1.add(user3);
??map.put(str[0], list1);

??List<User> list2 = new ArrayList<User>();
??User user11 = new User("02", "004", "map1qincy1", 24);
??User user12 = new User("02", "005", "map2qincy2", 25);

??list2.add(user11);
??list2.add(user12);

??map.put(str[1], list2);

??List<User> list3 = new ArrayList<User>();
??User user22 = new User("03", "005", "ddd", 34);
??User user23 = new User("03", "006", "eee", 35);
??User user24 = new User("03", "007", "fff", 36);

??list3.add(user22);
??list3.add(user23);
??list3.add(user24);
??map.put(str[2], list3);
??// 得到map所有key值,放到set集合中
??Set set = map.keySet();
??// 对Set集合进行遍历循环
??Iterator<String> iterator = set.iterator();
??// 进行循环遍历
??while (iterator.hasNext()) {
???String key = iterator.next();// 将获取的键引用进行强制类型转换
???List<User> list = new ArrayList<User>();
???list = map.get(key);// 通过键获取相应的值
???Iterator<User> it = list.iterator();
???while (it.hasNext()) {
????User user = new User();
????user = it.next();
????// System.out.println(key + "键:" + user.getNumber() + "值:学号"
????// + user.getXh() + "姓名" + user.getName() + "年龄"
????// + user.getAge());// 打印键、值的情况
???}
??}

??// 准备数据
??Map<String, User> maptest = new HashMap<String, User>();
??User user31 = new User("03", "005", "ddd", 34);
??User user32 = new User("03", "006", "eee", 35);
??User user33 = new User("03", "007", "fff", 36);

??maptest.put("1001", user31);
??maptest.put("1002", user32);
??maptest.put("1003", user33);

??Map<String, User> subMap = new HashMap<String, User>();
??subMap.put("1008", new User("tom", "1008", "fdf", 12));
??subMap.put("1009", new User("jerry", "1009", "dfdf", 10));
??maptest.putAll(subMap);

??workByEntry(maptest);
??workByEntry1(maptest);
?}

?// 使用Map.Entry遍历map
?public static void workByEntry(Map<String, User> map) {
??// Set<Map.Entry<String, User>> set = map.entrySet();
??// for (Iterator<Map.Entry<String, User>> it = set.iterator(); it
??// .hasNext();) {
??// Map.Entry<String, User> entry = (Map.Entry<String, User>) it.next();
??// System.out.println(entry.getKey() + "键:"
??// + entry.getValue().getNumber() + "值:学号"
??// + entry.getValue().getXh() + "姓名"
??// + entry.getValue().getName() + "年龄"
??// + entry.getValue().getAge());// 打印键、值的情况
?}

?// 使用keySet遍历map
?public static void workByEntry1(Map<String, User> map) {
??Set set = map.keySet();
??// 对Set集合进行遍历循环
??Iterator<String> iterator = set.iterator();
??while (iterator.hasNext()) {
???String key = iterator.next();
???User user = map.get(key);
???System.out.println(key + "键值:" + user.getNumber() + "学号"
?????+ user.getXh() + "姓名" + user.getName() + "年龄"
?????+ user.getAge());// 打印键、值的情况
??}
?}
}

读书人网 >编程

热点推荐