为了账号安全,请及时绑定邮箱和手机立即绑定

我每一次输出都是按顺序排列的

应该是无序的啊 我输入了10个结果还是按顺序排列输出的

正在回答

4 回答

package collection_map;

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

public class MapTest {
    /**
     * 用来承载学生类型对象
     */
    public Map<String, Student> students;

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

    /**
     * 测试添加:输入学生ID,判断是否被占用
     * 若未被占用,则输入姓名,创建新学生对象,并且添加到suudents中
     *
     */
    public void testPut() {
        //创建一个Scanner对象,用来获取输入的学生ID
        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);
                //添加学生信息尽students
                students.put(ID, newStudent);
                //输出已添加成功
                System.out.println("已成功添加学生:" + students.get(ID).name);
                i++;
            } else {
                System.out.println("输入学生ID已存在,请重新输入!");
                continue;
            }
        }
    }

    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) {
        MapTest mt = new MapTest();
        mt.testPut();
        mt.testKeySet();
    }
}


0 回复 有任何疑惑可以回复我~

我也是  一直有序

0 回复 有任何疑惑可以回复我~

在main方法里弄个循环,一直输出就行了

0 回复 有任何疑惑可以回复我~

估计使用了有序排列方法

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我每一次输出都是按顺序排列的

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信