package com.imooc_collection;import java.util.HashMap;import java.util.Map;import java.util.Scanner;import java.util.Set;public class MapTest { /** * 用来承装学生类型对象 * @param args */ public Map<String,Student>students; /** * 在构造器中初始化student属性 * @param args */ public MapTest(){ this.students=new HashMap<String,Student>(); } /** * 测试添加:输入学生ID,判断是否被占用 * 若违背占用,则输入姓名,创建新学生对象,并且 * 添加到student中 * @param args */ public void testPut(){ Scanner console=new Scanner(System.in); int i=0; while(i<3){ System.out.println("请输入学生ID:"); String ID=console.next(); //判断该ID是否被占用 Student st=students.get(ID); if(st==null){ System.out.println("请输入学生姓名:"); String name=console.next(); //创建一个新的学生对象 Student newStudent=new Student(ID,name); //通过调用student的put方法,添加ID-学生映射 students.put(ID,newStudent); System.out.println("成功添加学生:"+students.get(ID).name); i++; }else{ System.out.println("该学生ID已被占用!"); continue; } } } /** * 测试Map的KepSet方法 * @param args */ public void testKeySet(){ //通过keySet方法,返回Map中的所有“键”的set集合 Set<String>keySet=students.keySet(); //取得students的容量 System.out.println("总共有:"+students.size()+"个学生!"); //遍历keySet,取得每一个键,再调用get方法取得每个键对应的value for(String stuId:keySet){ Student st=students.get(stuId); if(st!=null){ System.out.println("学生:"+st.name); } } } public static void main(String[] args) { // TODO Auto-generated method stub MapTest mt=new MapTest(); mt.testPut(); mt.testKeySet(); }}
2 回答
大咪
TA贡献785条经验 获得超332个赞
在student的类里重写tostring方法。。把每个属性都加上就行
eclipse里按alt+shift+s选择
英文是generate toString
添加回答
举报
0/150
提交
取消