public?class?MapTest?{
????public?Map<String?,Student>?student;
????public?MapTest(){
????????this.student?=?new?HashMap<String?,Student>();
????}
????public?void?testPut(){
????????Scanner?console?=?new?Scanner(System.in);
????????int?i?=?0;
????????while(i<3){
????????????System.out.println("請(qǐng)輸入學(xué)生ID");
????????????String?ID?=?console.next();
????????????Student?st?=?student.get(ID);
????????????if(st?==?null){
????????????????System.out.println("請(qǐng)輸入學(xué)生姓名");
????????????????String?name?=?console.next();
????????????????Student?newStudent?=?new?Student(ID,name);
????????????????student.put(ID,newStudent);
????????????????System.out.println("成功添加學(xué)生:"+student.get(ID).name);
????????????????i++;
????????????}else?{
????????????????System.out.println("該學(xué)生的ID已被占用");
????????????????continue;
????????????}
????????}
????}
????public?void?testKeySet(){
????????//返回所有key的集合
????????Set<String>?keySet=student.keySet();
????????for?(String?stuId:keySet)?{
????????????Student?st?=?student.get(stuId);
????????????if(st!=null){
????????????????System.out.println("學(xué)生"+st.name);
????????????}
????????}
????}
????public?void?testRemove(){
????????System.out.println("請(qǐng)輸入要?jiǎng)h除的學(xué)生ID");
????????Scanner?console?=?new?Scanner(System.in);
????????while?(true)?{
????????????String?ID?=?console.next();
????????????Student?st?=?student.get(ID);
????????????if?(st?==?null)?{
????????????????System.out.println("該ID不存在");
????????????????continue;
????????????}
????????????student.remove(ID);
????????????System.out.println("成功刪除學(xué)生:"+st.name);
????????????break;
????????}
????}
????public?void?testEntrySet(){
???????//返回所有鍵值對(duì)的集合
???????Set<Map.Entry<String,Student>>?entrySet?=?student.entrySet();
????????for?(Map.Entry<String,Student>?entry:entrySet)?{
????????????System.out.println("取得鍵為:"+entry.getKey());
????????????System.out.println("對(duì)應(yīng)的值為:"+entry.getValue().name);
????????}
????}
????public?static?void?main(String[]?args)?{
????????MapTest?mt?=new?MapTest();
????????mt.testPut();
????????mt.testKeySet();
????????mt.testRemove();
????????mt.testEntrySet();
????}
}
2020-11-15
我也一樣,懷疑是JDK版本的問題
2020-03-12
我引用下別人的話:在Java中無序指的是Java語言沒有規(guī)定某個(gè)容器按什么順序遍歷,在不同的Java虛擬機(jī)上對(duì)某個(gè)容器的實(shí)現(xiàn)是不一樣,比如說運(yùn)行在Windows和Linux上的Java虛擬機(jī)對(duì)HashSet的遍歷順序可能不太一樣,但對(duì)同一種虛擬機(jī)來說遍歷輸出都是一樣的。而不是我們?nèi)粘K斫獾?無序就是亂序"的意思。
2019-11-21
我也是這樣的問題
2019-11-19
那為什么我每次輸出都是按照我輸入的順序來的呢
2019-08-07
無序是指不按照插入順序排序,具體是根據(jù)一種哈希算法來規(guī)定儲(chǔ)存位置的,所以你每次按同樣的順序插入,取出來的順序都是一定的
2019-07-08
你輸入可以無序呀,你可以自己嘗試一下呀,比如他214,你124呀