我有一个类Library,它包含一个Book对象数组,我需要根据Book的Title或PageNumber属性对数组进行排序。我不允许问题与Book一起使用Comparable类。您如何建议我对图书馆中的书籍进行排序?写我自己的排序?还是有更简单的方法?如果您需要代码片段,请问!
您可以提供一个Comparator
用于比较您希望的任何类型的对象,Comparable
否则。
对于数组和集合,请使用
Arrays.sort(array, myComparator);
Collections.sort(list, myComparator);
甚至像TreeSet这样的已排序集合也可以使用自定义比较器
例如
Collections.sort(books, new Comparator<Book>() {
public int compare(Book b1, Book b2) {
return if b1 is greater return +1, if b2 is smaller return -1 otherwise 0
}
});
问题内容: 在Swift 2.0中,您将如何按属性对自定义对象数组进行排序?我知道在Swift 1.2中,这是使用sorted()和sort()完成的。但是,这些方法在Xcode 7 beta 4中不再起作用。谢谢! 例如: 问题答案: 在Swift 2中: 您可以使用方法,使用来比较两个日期: 或者,如果您想对原始数组进行排序,则可以: 在Swift 3中 返回数组的排序形式,请使用,而不是 排
问题内容: 我已经使用AJAX获得了以下对象并将它们存储在数组中: 如何仅使用JavaScript 创建一个函数以按属性 升序 或 降序 对对象进行排序? 问题答案: 按价格升序对房屋进行排序: 或在ES6版本之后:
问题内容: 如果我有一个JavaScript对象,例如: 有没有一种方法可以基于值对属性进行排序?这样我最终 问题答案: 将它们移动到一个数组,对该数组进行排序,然后将其用于您的目的。这是一个解决方案: 拥有数组后,您可以按自己喜欢的顺序从数组中重建对象,从而完全实现了您打算要做的事情。在我所知道的所有浏览器中都可以使用,但这取决于实现的怪癖,并且可能随时中断。您永远不应假设JavaScript对
问题内容: 我有一个JavaScript对象数组: 如何按JavaScript中的值对它们进行排序? 我知道,但这似乎只适用于字符串和数字。我是否需要向对象添加方法? 问题答案: 编写自己的比较函数很容易: 或内联(c / o Marco Demaio):
我得到一个错误-“错误:找不到适合排序(ArrayList)的方法。我如何修复这个问题? 多谢了。
问题内容: 我需要通过对象属性之一的一个属性比较对象数组。 我在做 : 它没有编译,有人知道怎么做吗? 谢谢。 问题答案: 这是代码中导致错误的部分 您可以创建对特定类型的任意对象的(静态或非静态)方法的引用。对任何类型的对象的方法的引用如下所示: 但是方法引用不是对象,并且没有成员可以访问。使用此代码,您尝试访问引用的成员变量(并且不能) 另外,方法引用不是类,因此您不能从它们中获取另一个方法引