最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

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

輸出不是無序,輸入2,1,4 輸出也是2,1,4 一直都是,代碼都在了,幫忙看看什么毛病,謝謝


package com.imooc.collection;


import java.util.HashSet;

import java.util.Set;


/**

?* 學生類

?* @author 王陽

?*

?*/

public class Student {

public String id;

public String name;

public Set<Course> courses;

public Student(String id,String name) {

this.id = id;

this.name = name;

this.courses = new HashSet<Course>();

}

}

?

package com.imooc.collection;


import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

import java.util.Scanner;





public class SetTest {

public List<Course> coursesToSelect;

public SetTest() {

// TODO Auto-generated constructor stub?

coursesToSelect = new ArrayList<Course>();

}

public void testAdd() {? ?

//創(chuàng)建一個課程對象,并通過調用add方法,添加到備選課程List中;

Course cr1 = new Course("1", "數(shù)據結構");

coursesToSelect.add(cr1);

// Course temp = (Course)coursesToSelect.get(0);

// System.out.println("添加了課程:"+temp.id+":"+temp.name);

Course cr2 = new Course("2", "c語言");

coursesToSelect.add(0, cr2);

// Course temp2 = (Course)coursesToSelect.get(0);

// // Course temp3 = (Course)coursesToSelect.get(1);

// System.out.println("添加了課程:"+temp2.id+":"+temp2.name);

// System.out.println("添加了課程:"+temp3.id+":"+temp3.name);

// coursesToSelect.add(cr1);

// Course temp0 = (Course)coursesToSelect.get(2);

// System.out.println("添加了課程:"+temp0.id+":"+temp0.name);

Course[] course = {new Course("3","操作系統(tǒng)"),new Course("4", "匯編語言")};

coursesToSelect.addAll(Arrays.asList(course));

// Course temp3 = (Course)coursesToSelect.get(3);

// Course temp4 = (Course)coursesToSelect.get(4);

// System.out.println("添加了兩門課程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name);

Course[] course2 = {new Course("5", "Java語言"),new Course("6", "離散數(shù)學")};

coursesToSelect.addAll(2,Arrays.asList(course2));

// Course temp5 = (Course)coursesToSelect.get(2);

// Course temp6 = (Course)coursesToSelect.get(3);

// System.out.println("添加了兩門課程:"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name);

}

/**

* 通過for each方法訪問幾何元素

* @param args

*/

public void testForEach() {

System.out.println("有如下課程待選(通過foreach方法):");

for(Object obj:coursesToSelect) {

Course cr = (Course)obj;

System.out.println("課程:"+cr.id+":"+cr.name);

}

}

public void testForEachSet(Student student) {

for(Course cr:student.courses) {

System.out.println("選擇了課程:"+cr.id+cr.name);

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

SetTest st = new SetTest();

st.testAdd();

st.testForEach();

//創(chuàng)建一個學生對象

Student student = new Student("1","小明");

System.out.println("歡迎學生:"+student.name+"選課");

//創(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.id.equals(courseID)) {

student.courses.add(cr);

}

}

}

//打印輸出學生所選的課程

st.testForEachSet(student);

}


}


正在回答

4 回答

樓上正解

0 回復 有任何疑惑可以回復我~

建議先不要糾結這個問題,知道Set是無序即可,因為其內部實現(xiàn)原理是哈希表,需要數(shù)據結構的知識

0 回復 有任何疑惑可以回復我~

我也是。。。


0 回復 有任何疑惑可以回復我~

我也一樣,程序運行輸出順序就是和輸入順序永遠相同。

但是,用斷點調試的時候輸出的順序就是無序的了!

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

輸出不是無序,輸入2,1,4 輸出也是2,1,4 一直都是,代碼都在了,幫忙看看什么毛病,謝謝

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號