課程
/后端開發(fā)
/Java
/Java入門第三季
應(yīng)該是無序的啊 我輸入了10個(gè)結(jié)果還是按順序排列輸出的
2019-11-27
源自:Java入門第三季 5-2
正在回答
package?collection_map; import?java.util.HashMap; import?java.util.Map; import?java.util.Scanner; import?java.util.Set; public?class?MapTest?{ ????/** ?????*?用來承載學(xué)生類型對(duì)象 ?????*/ ????public?Map<String,?Student>?students; ????/** ?????*?在構(gòu)造器中初始化students屬性 ?????* ?????*?@param?args ?????*/ ????public?MapTest()?{ ????????this.students?=?new?HashMap<String,?Student>(); ????} ????/** ?????*?測(cè)試添加:輸入學(xué)生ID,判斷是否被占用 ?????*?若未被占用,則輸入姓名,創(chuàng)建新學(xué)生對(duì)象,并且添加到suudents中 ?????* ?????*/ ????public?void?testPut()?{ ????????//創(chuàng)建一個(gè)Scanner對(duì)象,用來獲取輸入的學(xué)生ID ????????Scanner?console?=?new?Scanner(System.in); ????????int?i?=?0; ????????while?(i?<?3)?{ ????????????System.out.println("請(qǐng)輸入學(xué)生ID:"); ????????????String?ID?=?console.next(); ????????????//判斷學(xué)生ID是否已經(jīng)被占用了 ????????????Student?st?=?students.get(ID); ????????????if?(st?==?null)?{ ????????????????System.out.println("請(qǐng)輸入學(xué)生的姓名:"); ????????????????String?name?=?console.next(); ????????????????//創(chuàng)建新的學(xué)生對(duì)象 ????????????????Student?newStudent?=?new?Student(ID,?name); ????????????????//添加學(xué)生信息盡students ????????????????students.put(ID,?newStudent); ????????????????//輸出已添加成功 ????????????????System.out.println("已成功添加學(xué)生:"?+?students.get(ID).name); ????????????????i++; ????????????}?else?{ ????????????????System.out.println("輸入學(xué)生ID已存在,請(qǐng)重新輸入!"); ????????????????continue; ????????????} ????????} ????} ????public?void?testKeySet()?{ ????????//通過KeySet方法,返回Map中的所有“鍵的Set合集 ????????Set<String>?KeySet?=?students.keySet(); ????????//取得students的容量 ????????System.out.println("學(xué)生的數(shù)量為:"?+?students.size()); ????????//遍歷KeySet,取得每一個(gè)鍵值,再調(diào)用get方法取得每個(gè)鍵值對(duì)應(yīng)的Value值 ????????for?(String?stuId?:?KeySet)?{ ????????????Student?st?=?students.get(stuId); ????????????if?(st?!=?null) ????????????????System.out.println("學(xué)生:"?+?st.name); ????????} ????} ????public?static?void?main(String[]?args)?{ ????????MapTest?mt?=?new?MapTest(); ????????mt.testPut(); ????????mt.testKeySet(); ????} }
我也是? 一直有序
在main方法里弄個(gè)循環(huán),一直輸出就行了
估計(jì)使用了有序排列方法
舉報(bào)
Java中你必須懂得常用技能,不容錯(cuò)過的精彩,快來加入吧
2 回答HashMap不是散列么,為什么每次都按一定順序輸出?
1 回答輸出的順序就是課程排列的順序嗎
2 回答為什么我的Set每次取出的順序一樣,不是每次都會(huì)變嗎?
1 回答為什么每次改變key,輸出的順序都一直是一樣的呢?set不是無序的嗎?
1 回答我的foreach循環(huán)每次輸出的順序都相同,老師說的是Set是無序的,這是怎么回事
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2020-11-10
2020-11-10
我也是? 一直有序
2020-02-03
在main方法里弄個(gè)循環(huán),一直輸出就行了
2020-01-30
估計(jì)使用了有序排列方法