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