Uestc_L
2016-02-25 11:03
我怎么实验得到的是输出顺序总是跟输入顺序相反的呢?不是无序的啊?
我的也是顺序输出,上一个程序也是顺序输出,不知道为啥,如果你知道的话麻烦告我一哈 卸卸~
package com.imooc_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;
public MapTest()
{
students = new HashMap<String,Student>();
}
public void testPut()
{
Scanner input = new Scanner(System.in);
for(int i=0;i<3;)
{
System.out.println("请输入学生ID:");
String ID = input.next();
if(students.get(ID) == null)
{
System.out.println("请输入学生姓名:");
String name = input.next();
Student newStudent = new Student(ID,name);//创建学生对象,然后添加到Map中
students.put(ID, newStudent);//Map中存储的是学生对象
i++;//成功添加学生才使 i 自增
}
else
{
System.out.println("此学生ID已被占用!");
}
}
}
public void testKeySet()
{
Set<String> key = students.keySet();
for(String st:key)
{
if(st!=null)
{//Map的get()方法中传入key值就可以取得key值对应的对象(学生对象)
System.out.println("学生"+students.get(st).id+":"+students.get(st).name);
}
}
}
public static void main(String[] args) {
MapTest mt = new MapTest();
mt.testPut();
mt.testKeySet();
}
}
Java入门第三季
409792 学习 · 4340 问题
相似问题