什么样的集合可以排序?
只要集合是有序集合,就可以对其进行排序。官方说法是,如果集合中的二元关系是自反的、反对称的和传递的,那么集合是有序的,可以排序。如果集合中的任意两个元素可以以相同的方式进行比较,则集合可以排序
主要要求是对列表中的类进行排序。当然,使用排序方法。collection类基本上什么都没有,它是collection辅助方法的补充(arraylist、linkedlist都实现了这个接口),建议大家看一下源代码。集合.排序(list,comparator)第一个参数列表是问题所有者提到的需要排序的列表,第二个参数列表是comparator类。重写它。这里有点复杂。它可能涉及匿名类,或者您可以了解更多。jdk8中的lambda函数也可以实现。
集合list排序?
我们知道集合是无序的,可以使用treeset类。树集排序的规则是什么?1treeset支持两种排序方法:自然排序和自定义排序。默认情况下,treeset采用自然排序。自然排序:treeset调用set元素的compareto(objectobj)方法来比较元素的大小为什么set元素有compareto方法?因为setelement对象实现了可比较的接口。此方法返回一个整数值。当一个对象调用此方法时,它会与另一个对象进行比较。例如,obb1。compareto(obb2)如果返回0,则表示两个对象相等,例如如果该方法返回正整数,则表示obji1大于obji2。如果该方法返回负整数,则表示obji1小于obji2,因此需要使用treeset集合进行自然排序,并且元素必须实现可比较接口。但是,一些常见的java类已经实现了该接口,例如:stringcharacterbooleandatetimebigdecimalbiginteger等,例如:treeset<string>ts=newreeset<string>()ts.添加(“b”)ts.添加(“c”)ts.添加(“a”)系统输出打印(ts)结果:abc
javaset集合的值可以排序吗?
如何对list中的对象进行排序?
插入排序、选择排序、气泡排序、快速排序等main(string[]args){int[]数组={
9,
8,
7,
6,
5,
4,
3,
2,
1,0,-1,-2,-3}系统输出打印(“排序前:”)arrayutils.printarray(数组)快速排序(数组)系统输出打印(“排序后:”)arrayutils.printarray(数组)}公共静态void快速排序(int[]数组){子快速排序(数组,0数组长度-1)}私有静态void子快速排序(int[]array,intstart,intend){if(array==null||(end-start1)
原文标题:单点登录 什么样的集合可以排序?,如若转载,请注明出处:https://www.saibowen.com/wenda/19093.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。