我的set为什么是顺序输出

来源:5-2 学生选课---使用 Map 添加学生

慕无忌8817699

2019-10-30 11:19

跟老师一样敲的。但是我是顺序输出。我用的是MyEclipse。不是set是随机吗。我试了至少4次不一样的东西了都是顺序


package com.imooc.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 MapTest() {

this.students=new HashMap<String,Student>();

}

public void testPut() {

Scanner console=new Scanner(System.in);

int i=0;

while(i<3) {

System.out.println("请输出学生ID:");

String ID=console.next();

Student st=students.get(ID);

if(st==null) {

System.out.println("请输入学生姓名:");

String name=console.next();

Student newStudent=new Student(ID,name);

students.put(ID, newStudent);

System.out.println("成功添加学生:"+students.get(ID).name);

i++;

}else {

System.out.println("该学生ID已被占用");

}

}

}

public void testKeySet() {

Set<String>keySet=students.keySet();

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回答

  • 慕仰9267954
    2019-11-21 21:19:25

    感觉是版本问题,我也和你一样,不过我是根据id大小顺序输出的

    慕无忌881...

    之前我这问题解决了。电脑到第二天重启过后就好了。好像经常eclipse有些问题得重开下或重启下才能解决

    2019-11-22 13:42:20

    共 1 条回复 >

  • 慕标6066408
    2019-11-03 19:36:43

    你用的是hashmap, 集合才是无序的

    慕无忌881...

    但是输出用的是set。本节老师也说是无序的

    2019-11-03 19:39:48

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409781 学习 · 4339 问题

查看课程

相似问题