在做最后的纸牌联系的时候,试了好几次,读出来的都是有序的
右键项目选择properties,java compiler选择1.5的动态编译方式。你才能看到老师的这个现象。实际上这个是jdk的一个BUG,被老师用来讲普通原理了。如果你用1.8编译是不存在这个问题的,可见这个老师基础课讲的不是很好。
for(Course cr:st.coursesToSelect)
如果遍历的集合里面的数太少的话,就会顺序输出,如果你输出7到8个左右的数,就会是无序的了,总而言之,集合里面的数太少的话,输出的时候,就看不出是否是无序还是有序输出。
如果遍历的集合里面的数太少的话,就会顺序输出,如果你输出7到8个左右的数,就会是无序的了,总而言之,集合里面的数太少的话,输出的时候,就看不出是否是无序还是有序输出。
我的也是一个顺序出的,求解
我的也是这样。。改成5个之后老是按照一个顺序输出。
楼上说得对
前面有个网友自问自答了,将for循环选课的次数增加到5次,就可以看出是无序的循环了。
结合网友的评论,可能是jdk更新后有所改动,3次太少了。
for (int i =0 ;i<5;i++){ System.out.println("请输入课程ID"); String conseld = console.next(); for (Course cr : st.coursesToselect){ if(cr.id.equals(conseld)){ student.courses.add(cr); } } }
你把代码贴一下看看,不会输出的是设置为List的Course当中的备选课程去了吧,你确认输出的是student当中的吗
是不是我的方法有错误?我是通过iterator去迭代set集合,但是执行的几次结果都是同一顺序输出的,我又add了4个int型数字,再获取还是一样的有序输出
set不是那个出了名的无序,不可重复么
输出是随机的,很有可能,你试了好几次都是按照某一个顺序输出的。
Set集合是无序的。每次读取的顺序是不一样的,随机的、
是随机出的