Java实现储存对象并按对象某属排序的方法-创新互联

这篇文章主要讲解了Java实现储存对象并按对象某属排序的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

成都创新互联不只是一家网站建设的网络公司;我们对营销、技术、服务都有自己独特见解,公司采取“创意+综合+营销”一体化的方式为您提供更专业的服务!我们经历的每一步也许不一定是最完美的,但每一步都有值得深思的意义。我们珍视每一份信任,关注我们的网站设计制作、做网站质量和服务品质,在得到用户满意的同时,也能得到同行业的专业认可,能够为行业创新发展助力。未来将继续专注于技术创新,服务升级,满足企业一站式全网整合营销推广需求,让再小的高端网站设计也能产生价值!

在编程的时候,经常会出现对某一种类的对象们按照某属性进行自定义的排序,比如:学生对象按照age大小排序。

有一种方法就是把age单独提出来排好序,然后按照ages数组的顺序把students重存一次。但是这样太繁琐了,有没有更好的方法呢?

有滴~

第一种,可以实现边添加边排序,需要用到TreeSet。

第二种,用数组存放对象们,但是不需单独取出某属性排列好再重存,而是在原数组上用比较器重新排一次序。需要用到Arrays.sort(arr,comparator)。

第三种,用集合类中的list的子类存放对象们,然后排序。需要用到Collections.sort(list,comparator)。

以下分别讨论:

一、TreeSet

创建:

序号构造函数的说明
1TreeSet ()     

此构造函数构造空树集,将在根据其元素的自然顺序按升序排序。

2TreeSet (集合 c)     

此构造函数生成树的集合,它包含的元素的集合 c。

3TreeSet (比较器 comp)     

此构造函数构造一个空树集,将根据给定的比较器进行排序。

  

增:

booleanadd(E e)将指定的元素添加到这套,如果它已不存在。
booleanaddAll(Collection<? extends E> c)在加入这一组指定的集合中添加的所有元素。

删:

booleanremove(Object o)从这一组中移除指定的元素,如果它存在。
voidclear()从这一组中移除所有元素。

查:

Comparator<? super E>comparator()返回用于排序在这集,或元素,如果这套使用自然排序其元素的比较。
booleancontains(Object o)如果此集合包含指定的元素,则返回true 。
  
booleanisEmpty()如果此集不包含任何元素,则返回true 。
Iteratoriterator()返回迭代器中这套以升序排序的元素。
  
  
intsize()在这套 (其基数) 中返回的元素的数目。
  

遍历:通过迭代器遍历。

Iterator it=treeset.iterator();
while(it.hasNext()){
 //操作当前结点。
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:Java实现储存对象并按对象某属排序的方法-创新互联
文章源于:http://ybzwz.com/article/djhddg.html