手记

java入门第三季——Map训练

重点:map的几种遍历方法:
返回key值集合:

返回value值集合:

返回<key,value>值集合:

MapTest.java文件:
package com.demos.collection;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class MapTest {

/**
 * 用来承载学生类型对象
 */
public Map<String,Student> students;
public Map<String, Student> getStudents() {
    return students;
}

public void setStudents(Map<String, Student> students) {
    this.students = students;
}

//在构造方法中,实例化一个学生对象
public MapTest() {
    this.students = new HashMap<String,Student>();
}

/**
 * 添加学生测试:
 * 输入学生id,判断是否被占用;
 * 若未被占用,则输入姓名,创建新学生对象
 * 添加到students中
 */
public void putStudent() {
    //创建Scannner对象,获取学生id;
    Scanner co = new Scanner(System.in);
    int i = 0;
    while (i<3) {
        System.out.println("请输入学生id: \n");
        String studentId = co.next();
        //判断该id是否被占用
        Student st = students.get(studentId);
        if( st == null) {
            System.out.println("请输入学生姓名:\n");
            String studentName = co.next();
            //创建学生对象,把学生对象添加到map中;
            Student newStudent = new Student(studentId,studentName);
            students.put(studentId, newStudent);
            System.out.println("成功添加学生:"+students.get(studentId).name);
            i++;

        }else {
            System.out.println("该学生已存在!");
            continue;
        }
    }
    //输出所有的学生信息
    System.out.println("所有的学生信息如下:\n");

// //通过keySet 方法返回所有<key>的集合;
// Set<String> ks = students.keySet();
// for(String stuId : ks) {
// //获取key 对应的value 的值;
// Student st = students.get(stuId);
// System.out.println(stuId);
// //遍历学生信息
// if(st != null) {
// System.out.println("学生:"+ st.name);
// }
// }
//通过keySet 方法返回所有集合;
Set<Map.Entry<String,Student>> ss = students.entrySet();
for(Map.Entry<String,Student> stu : ss) {
if(ss != null) {
System.out.println("学生:"+ stu.getValue().name);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MapTest mapt = new MapTest();
mapt.putStudent();
}
}

0人推荐
随时随地看视频
慕课网APP