我的set為什么是順序輸出
跟老師一樣敲的。但是我是順序輸出。我用的是MyEclipse。不是set是隨機(jī)嗎。我試了至少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("請輸出學(xué)生ID:");
String ID=console.next();
Student st=students.get(ID);
if(st==null) {
System.out.println("請輸入學(xué)生姓名:");
String name=console.next();
Student newStudent=new Student(ID,name);
students.put(ID, newStudent);
System.out.println("成功添加學(xué)生:"+students.get(ID).name);
i++;
}else {
System.out.println("該學(xué)生ID已被占用");
}
}
}
public void testKeySet() {
Set<String>keySet=students.keySet();
for(String stuId:keySet) {
Student st=students.get(stuId);
if(st!=null)
System.out.println("學(xué)生:"+st.name);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MapTest mt=new MapTest();
mt.testPut();
mt.testKeySet();
}
}
2019-11-21
感覺是版本問題,我也和你一樣,不過我是根據(jù)id大小順序輸出的
2019-11-03
你用的是hashmap, 集合才是無序的