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

我的set为什么是顺序输出

跟老师一样敲的。但是我是顺序输出。我用的是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 回答

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

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

慕无忌8817699 提问者

之前我这问题解决了。电脑到第二天重启过后就好了。好像经常eclipse有些问题得重开下或重启下才能解决
2019-11-22 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~
#1

慕无忌8817699 提问者

但是输出用的是set。本节老师也说是无序的
2019-11-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的set为什么是顺序输出

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