第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

關(guān)于set無序的問題,求助大佬

https://img1.sycdn.imooc.com//5bf172e000018d8109210917.jpg如圖,為什么我每次輸入的順序都是一樣的呢?不是說Set集合是無序的嗎? 求助!謝謝

正在回答

2 回答

package?Test;

import?java.util.*;

public?class?SetTest?{

????//?創(chuàng)建一個List類型帶有Course泛型的coursesToSelect屬性
????public?List<Course>?coursesToSelect;

????//創(chuàng)建一個構(gòu)造器
????public?SetTest()?{
????????//初始化coursesToSelect的屬性
????????coursesToSelect?=?new?ArrayList<Course>();
????}

????/*
?????*?用于往coursesToSelect中添加備選課程
?????*/
????public?void?testAdd()?{
????????//?創(chuàng)建一個課程對象,并通過調(diào)用add方法,添加到備選課程List中
????????Course?cr1?=?new?Course("1",?"數(shù)據(jù)結(jié)構(gòu)");
????????coursesToSelect.add(cr1);
????????Course?temp?=?(Course)?coursesToSelect.get(0);

????????Course?cr2?=?new?Course("2",?"C語言");
????????coursesToSelect.add(0,?cr2);
????????Course?temp2?=?(Course)?coursesToSelect.get(0);

????????Course[]?course?=?{?new?Course("3",?"離散數(shù)學(xué)"),?new?Course("4",?"匯編語言")?};
????????coursesToSelect.addAll(Arrays.asList(course));
????????Course?temp3?=?(Course)?coursesToSelect.get(2);
????????Course?temp4?=?(Course)?coursesToSelect.get(3);


????????Course[]?course2?=?{?new?Course("5",?"高等數(shù)學(xué)"),?new?Course("6",?"大學(xué)英語")?};
????????coursesToSelect.addAll(2,?Arrays.asList(course2));
????????Course?temp5?=?(Course)?coursesToSelect.get(2);
????????Course?temp6?=?(Course)?coursesToSelect.get(3);

????}

????public?void?testForEach()?{
????????System.out.println("有如下課程待選(通過for?each訪問):");
????????for?(Object?obj?:?coursesToSelect)?{
????????????Course?cr?=?(Course)?obj;
????????????System.out.println("課程:"?+?cr.getId()?+?":"?+?cr.getName());
????????}
????}

????public?static?void?main(String[]?args)?{
????????SetTest?st?=?new?SetTest();
????????st.testAdd();
????????st.testForEach();
????????//?創(chuàng)建一個學(xué)生對象
????????Student?student?=?new?Student("1",?"小明");
????????System.out.println("歡迎學(xué)生:"?+?student.getName()?+?"選課!");
????????//?創(chuàng)建一個Scanner對象,用來接收從鍵盤輸入的課程ID
????????Scanner?console?=?new?Scanner(System.in);

????????for?(int?i?=?0;?i?<?3;?i++)?{
????????????System.out.println("請輸入課程ID");
????????????String?courseId?=?console.next();
????????????for?(Course?cr?:?st.coursesToSelect)?{
????????????????if?(cr.getId().equals(courseId))?{//判斷鍵盤上輸入的和課程上的ID是否對應(yīng)
????????????????????student.getCourses().add(cr);?//?如果對應(yīng)則添加
????????????????????/**
?????????????????????*?Set中,添加某個對象,無論添加多少次,?最終只會保留一個該對象(的引用),?并且,保留的是第一次添加的那一個
?????????????????????*/
????????????????????//?student.courses.add(null);
????????????????????student.getCourses().add(cr);
????????????????}
????????????}
????????}
????????st.testForEachForSet(student);
????}

????public?void?testForEachForSet(Student?student)?{?//?將Student類型的student作為參數(shù)傳遞進(jìn)該方法
????????//?打印輸出,學(xué)生所選的課程!
????????System.out.println("共選擇了:"?+?student.getCourses().size()?+?"門課程!");
//????????Set<Course>?set?=?student.getCourses();
????????for?(Course?cr?:?student.getCourses())?{?//Courses需要加泛型,不然報(bào)錯,或者像上面代碼那樣
????????????//set中的元素輸出的是無序的并不可重復(fù)的
????????????System.out.println("選擇了課程:"?+?cr.getId()?+?":"?+?cr.getName());
????????}
????}
}

你可以參考下

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕姐4925769

我寫的都是私有的 新學(xué)者寫代碼最好養(yǎng)成良好的習(xí)慣
2018-11-21 回復(fù) 有任何疑惑可以回復(fù)我~

是無序的,有序set可以參照SortedSet


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

關(guān)于set無序的問題,求助大佬

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號