set集合类怎么有序啊

来源:4-11 学生选课---通过 Set 集合管理课程

wire

2015-09-21 11:35

我按写的写完运行发现有数组下标越界异常,于是我将Course temp=(Course)coursesToSelect.get(0);取出就可以运行了,然后输入ID发现并不是无序的。请问这是为什么啊,求老师帮我解答一下

写回答 关注

3回答

  • dumbaodouble
    2015-09-22 21:00:37

    向Set接口的实现类HashSet中添加元素,其实元素是无序的,在某些特殊情况下,你可能发现元素好像是有序的,这种情况其实只是一种巧合,你只要记住元素是无序的就可以了。TreeSet是SortedSet接口的实现类,它的元素是有序的,按照大小进行自动的排序。

  • 化龙贝
    2015-09-22 06:00:59

    如果我记得没错的话,set本来就是有序的,map是无序的

    dumbao...

    哥们,你再回头学一下吧。Set接口和List接口都继承自Collection接口,Set接口的实现类是HashSet,元素是无序的,元素不可重复,当添加重复的元素时会采用屏蔽技术将重复元素屏蔽掉。SortedSet接口的实现类是TreeSet,元素是按照大小排序,但仍不可重复。List接口的实现类是ArrayList和LinkedList,它们是有序的,可重复的,因为重复的元素可以放在不同的位置。Map接口的实现类是HashMap,元素有键和值组成,键是唯一的,值可以重复,键和值都是对象。元素是无序的。SortedMap接口的实现类是TreeMap,元素按照键的大小进行排序。

    2015-09-22 20:55:50

    共 2 条回复 >

  • dumbaodouble
    2015-09-21 12:02:57

    有巧合发生

    wire

    什么意思啊

    2015-09-22 19:12:55

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题