|
|
1
1401
自从
所以你的习惯
这个
你的排序代码应该和你写的差不多:
如果不需要重用比较器,那么编写所有这些内容的一个稍短的方法是将其编写为一个内联匿名类:
自从 java-8
现在可以使用
lambda expression
对于
和
这是一个很常见的成语,
a built-in method
生成一个
所有这些都是等价形式。 |
|
|
2
189
具有自然排序顺序的类(例如,类号)应实现可比较的接口,而没有自然排序顺序的类(例如,类椅子)应提供比较器(或匿名比较器类)。 两个例子:
用途:
|
|
|
3
153
用于排序
|
|
|
4
41
是的,你可以。比较项目有两个选项,即 Comparable 接口,以及 Comparator 接口。 这两个接口都允许不同的行为。Comparable允许您使对象的行为类似于刚刚描述的字符串(实际上,字符串实现是可比较的)。第二个,比较器,允许你做你要求做的事情。您可以这样做:
这将导致collections.sort方法为其排序机制使用comparator。如果arraylist中的对象实现可比性,则可以这样做:
这个 Collections 类包含许多有用的、通用的工具。 |
|
|
5
36
Java 8 lambda表达式
或
|
|
6
29
使用Java 8,可以使用比较器的方法引用:
|
|
|
7
13
|
|
|
8
13
因为技术每天都会出现,答案会随着时间的推移而改变。我看了一眼兰姆达吉,看起来很有趣。 你可以试着用 兰布达 . 你可以在这里找到它: http://code.google.com/p/lambdaj/ 这里有一个例子: 排序迭代
用lambda排序
当然,在性能上有这种美的影响(平均是2倍),但是你能找到一个更可读的代码吗? |
|
|
9
9
Java 8的最简单的方法是英语字母排序。 类实现
排序
如果要对包含非英语字符的字母表进行排序,可以使用区域设置…下面的代码使用土耳其字符排序… 类实现
排序
|
|
|
10
6
从
见 http://visvv.blogspot.in/2016/01/sorting-objects-in-java-8.html . |
|
11
6
函数和方法引用
这个
对于Java 8:
或
另一种方式是
|
|
|
12
5
你可以使用 Bean Comparator 对自定义类中的任何属性进行排序。 |
|
|
13
5
是的,例如在
this answer
我按财产分类
如果你注意到这里,我正在创建一个
匿名内部类
(它是关闭的Java)并直接传递给
您的对象也可以实现
|
|
|
14
5
你可以尝尝番石榴 Ordering :
|
|
15
5
Java 8 lambda缩短了排序。
|
|
|
16
5
可以使用Java 8进行排序。
|
|
|
17
4
我发现,如果不是所有的答案都依赖于底层类(对象)来实现Comparable,或者拥有一个与助手类似的接口。 不是我的解决方案!下面的代码允许您通过知道对象的字符串名称来比较对象的字段。您可以很容易地修改它,不使用这个名称,但是您需要公开它或构造一个要与之比较的对象。
|
|
|
18
3
此代码段可能很有用。如果要对对象排序 在我的示例中,我希望按卷名排序:
这是可行的。我在JSP中使用它。 |
|
19
3
你可以看看这个 presentation 2016在斯图加特德国举行JAVA论坛。 只有少数幻灯片使用德语,99%的内容是“基于英语”的Java源代码;
哪里
如果你对Java8感兴趣,你会在那里找到很多材料让你开始学习。 |
|
|
20
2
CustomComparator类必须实现java.util.Comparator才能使用。 它还必须覆盖compare()和equals()。 compare()必须回答以下问题:对象1是小于、等于还是大于对象2? 完整文档: http://java.sun.com/j2se/1.5.0/docs/api/java/util/Comparator.html |
|
|
21
2
有了这个图书馆 here 可以对多列上的自定义对象列表进行排序。该库使用8.0版功能。那里也有样品。这是一个样品
|
|
22
2
自1.8以来新增的是list.sort()方法,而不是使用collection.sort()。 所以直接调用myListContainer.sort()。 下面是演示list.sort()功能的代码段:
水果类为:
|
|
|
23
1
我更喜欢这个过程:
如果对象列表中有一个名为
这要求您的对象是
是的,可能会更快…但是现在您不必为每种类型制作一个新的比较器。如果您可以节省开发时间并放弃运行时,那么您可以使用这个方法。 |
|
24
0
使用Java 8可以定义
使用以下任何一种方法: 选项1:
选项2:
|
|
|
25
0
自定义类可以实现“Comparable”接口,这需要实现CompareTo方法。在CompareTo方法中,然后可以定义对象的含义 小于或大于 另一个对象。所以在您的示例中,它可以看起来像这样:
……
负数表示 这 小于要比较的对象。正数表示 这 大于“比较对象”,零表示对象相等。 然后,您可以使用collections.sort(mylist)对列表进行排序,而无需输入比较器。如果使用像treeset或treemap这样的已排序收集数据结构,此方法还具有自动排序的优点。 如果您想了解更多关于可比较接口的信息(公开:我是作者;)可以查看本文。 https://nullbeans.com/the-java-comparable-interface-automatic-sort-of-collections/ |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |