`
aa00aa00
  • 浏览: 325546 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

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());// 打印键、值的情况
  }
 }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics