Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42563
  • 博文数量: 71
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 726
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-24 08:29
文章分类

全部博文(71)

文章存档

2015年(71)

我的朋友

分类: Java

2015-02-16 15:09:39

新建一个类:MapTest.java

  1. package com.imooc.collection;

  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.Scanner;
  5. import java.util.Set;

  6. public class MapTest {
  7.     /**
  8.      * 用来承装学生类型对象
  9.      *
  10.      * @param args
  11.      */
  12.     public Map<String, Student> students;

  13.     /**
  14.      * 在构造器中初始化students属性
  15.      *
  16.      * @param args
  17.      */
  18.     public MapTest() {
  19.         this.students = new HashMap<String, Student>();
  20.     }

  21.     /**
  22.      * 测试添加:输入学生ID,判断是否有被占用,若未被占用,则输入姓名,创建新学生对象,并且添加到students中
  23.      *
  24.      * @param args
  25.      */

  26.     public void testPut() {
  27.         // 创建一个 Scanner对象,用来获取输入的学生ID和姓名
  28.         Scanner console = new Scanner(System.in);
  29.         int i = 0;
  30.         while (i < 3) {
  31.             System.out.println("请输入学生ID:");
  32.             String ID = console.next();
  33.             // 判断ID是否被占用
  34.             Student st = students.get(ID);
  35.             if (st == null) {
  36.                 // 提示输入学生姓名
  37.                 System.out.println("请输入学生姓名:");
  38.                 String name = console.next();
  39.                 // 创建新的学生对象
  40.                 Student newStudent = new Student(ID, name);
  41.                 // 通过调用students的put方法,添加ID-学生映射
  42.                 students.put(ID, newStudent);
  43.                 System.out.println("成功添加学生 :" + students.get(ID).name);
  44.                 i++;
  45.             } else {
  46.                 System.out.println("该学生ID已被占用。");
  47.                 continue;
  48.             }
  49.         }
  50.     }

  51.     /**
  52.      * 测试Map的keySet方法
  53.      *
  54.      * @param args
  55.      */

  56.     public void testKeySet() {
  57.         // 通过keySet方法,返回Map中的所有“键”的Set集合
  58.         Set<String> keySet = students.keySet();
  59.         // 取得students的容量
  60.         System.out.println("总共有" + students.size() + "个学生");
  61.         // 遍历keySet,取得每一个键,在调用get方法取得每个键对应的value
  62.         for (String stuId : keySet) {
  63.             Student st = students.get(stuId);
  64.             if (st != null)
  65.                 System.out.println("学生:" + st.name);
  66.         }
  67.     }

  68.     public static void main(String[] args) {
  69.         MapTest mt = new MapTest();
  70.         mt.testPut();
  71.         mt.testKeySet();
  72.     }

  73. }


阅读(191) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~