输出顺序的问题

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

Uestc_L

2016-02-25 11:03

我怎么实验得到的是输出顺序总是跟输入顺序相反的呢?不是无序的啊?

写回答 关注

2回答

  • 迩丶眼眸里
    2016-04-05 15:14:56

    我的也是顺序输出,上一个程序也是顺序输出,不知道为啥,如果你知道的话麻烦告我一哈   卸卸~

  • Uestc_L
    2016-02-25 11:09:22

    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入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题