不解中

解决方案 »

  1.   

    并没有人说过 Set 是不保证顺序的啊?只是说 Set 是一个不包含重复元素的集合。像 LinkedHashSet, TreeSet 等等这些都是有一定顺序的,而 HashSet 的实现则是无序的。
      

  2.   

    哦,原来只是HashSet是无序的吗
      

  3.   

    是马士兵在视频里说的,Set里面的东西没有顺序,而且不可以重复
      

  4.   

    这个只是泛泛的说法,大概是为了和list做区分集合只要内部加个列表,都可以实现排序
      

  5.   

    首先要搞清楚java中有序和无序的概念有序指的是存储顺序与添加顺序相同,并且可以通过下标访问,List就是这样。无序刚好相反,指的是存储顺序与添加顺序无关,没有下标,当然也不可能通过下标访问,Set就是如此。这里需要注意的是,有序、无序中的“序”与我们平常所说的“顺序”无关。而TreeSet是无序,但又是排好序的。即添加顺序与存储顺序无关,但是其中的对象实现了排序。
      

  6.   

         
         Set本身不保证顺序这是正确的(它无下标,无位置,必须用迭代器取元素,它只能加 减和删 不能查),但是它的
    实现类就一定了(因为子类是父接口的扩展啊),例如:HashSet就无序,但TreeSet它的直接父类是SortedSet,它里面的元
    素是有序的(你从它们的名字上就可以看出来),它的排序标准是Comparator
    或Comparable 里的compare() 或compareTo()方法(如果TreeSet里要添加的元素是你自己定义的类型话Comparator
    和Comparable这两个接口你一定要实现一个,顺便重写里面的方法)
      

  7.   

    TressSet的底层是二叉数啊,所以是有序的啊