Java实现储存对象并按对象某属排序的方法-创新互联
这篇文章主要讲解了Java实现储存对象并按对象某属排序的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
成都创新互联不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的网站设计制作、做网站质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式全网整合营销推广需求,让再小的高端网站设计也能产生价值!在编程的时候,经常会出现对某一种类的对象们按照某属性进行自定义的排序,比如:学生对象按照age大小排序。
有一种方法就是把age单独提出来排好序,然后按照ages数组的顺序把students重存一次。但是这样太繁琐了,有没有更好的方法呢?
有滴~
第一种,可以实现边添加边排序,需要用到TreeSet。
第二种,用数组存放对象们,但是不需单独取出某属性排列好再重存,而是在原数组上用比较器重新排一次序。需要用到Arrays.sort(arr,comparator)。
第三种,用集合类中的list的子类存放对象们,然后排序。需要用到Collections.sort(list,comparator)。
以下分别讨论:
一、TreeSet
创建:
序号 | 构造函数的说明 |
---|---|
1 | TreeSet () 此构造函数构造空树集,将在根据其元素的自然顺序按升序排序。 |
2 | TreeSet (集合 c) 此构造函数生成树的集合,它包含的元素的集合 c。 |
3 | TreeSet (比较器 comp) 此构造函数构造一个空树集,将根据给定的比较器进行排序。 |
增:
boolean | add(E e) 将指定的元素添加到这套,如果它已不存在。 |
boolean | addAll(Collection<? extends E> c) 在加入这一组指定的集合中添加的所有元素。 |
删:
boolean | remove(Object o) 从这一组中移除指定的元素,如果它存在。 |
void | clear() 从这一组中移除所有元素。 |
查:
Comparator<? super E> | comparator() 返回用于排序在这集,或空元素,如果这套使用自然排序其元素的比较。 |
boolean | contains(Object o) 如果此集合包含指定的元素,则返回true 。 |
boolean | isEmpty() 如果此集不包含任何元素,则返回true 。 |
Iterator | iterator() 返回迭代器中这套以升序排序的元素。 |
| |
int | size() 在这套 (其基数) 中返回的元素的数目。 |
|
遍历:通过迭代器遍历。
Iterator it=treeset.iterator(); while(it.hasNext()){ //操作当前结点。 }
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
新闻标题:Java实现储存对象并按对象某属排序的方法-创新互联
网页链接:http://myzitong.com/article/djhddg.html