黑马程序员技术交流社区
标题:
有序无序的问题
[打印本页]
作者:
雨下阳光
时间:
2014-9-30 11:41
标题:
有序无序的问题
Set集合不是无序的吗?为什么它的子集合TreeSet又说是有序的?这该如何理解?
作者:
水竹
时间:
2014-9-30 11:57
所谓的Set集合无序说的是没有放入的顺序,就是说比如你先放个object2、再放个object1、再放个object3,这三个对象在Set集合之中并不一定会按照2、1、3的顺序放着,即不会记录你放入的顺序;TreeSet集合是在放入元素的时候按照“规则”对其进行排序,也不是按照你放入的顺序,这里的两种顺序是不同的。
作者:
嘿~~
时间:
2014-9-30 12:33
因为TreeSet可以定义比较器啊
作者:
张业婷
时间:
2014-9-30 14:19
set集合最主要的特点不是有序还是无序,是不能存储重复的元素。至于有序list和set的实现类里都有有序的集合类
作者:
李春丽
时间:
2014-9-30 16:02
其实有些问题是不用过于纠结的。对写程序有主力就行啦。
作者:
千里马
时间:
2014-9-30 20:43
Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素。Set接口的定义:public interface Set<E>extends Collection<E>
Set接口的主要方法与Collection是一致,也就是说Set接口并没有对Collection接口进行扩充,只是比Collection接口更加严格了,不能增加重复元素。
而Set计控常用的子类:1、散列的存放:HashSet类,其主要特点是:里面不能存放重复元素,而且采用散列的存储方式 2、有序的存放:TreeSet 其定义:public class TreeSet<E>extends AbstractSet<E>
implements NavigableSet<E>, Cloneable, Serializable 根据定义可以看到,TreeSet中的元素是有序存放,所以对于每个对象必须指定好其排序规则,且TreeSet中的每个对象所在的类必须实现Comparable接口才可以正常使用。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2