当前位置: 首页 > 面试题库 >

如何在Java中使用Collections.sort()?

舒俊雄
2023-03-14
问题内容

我有一个Recipe实现的对象Comparable<Recipe>

public int compareTo(Recipe otherRecipe) {
    return this.inputRecipeName.compareTo(otherRecipe.inputRecipeName);
}

我这样做了,因此可以List使用以下方法按字母顺序排序:

public static Collection<Recipe> getRecipes(){
    List<Recipe> recipes = new ArrayList<Recipe>(RECIPE_MAP.values());
    Collections.sort(recipes);
    return recipes;
}

但是现在,以另一种方法命名为getRecipesSort(),我想对同一列表进行排序,但以数字方式比较包含ID的变量。更糟的是,ID字段的类型为String

如何使用Collections.sort()在Java中执行排序?


问题答案:

使用此方法Collections.sort(List,Comparator)。实施比较器并将其传递给Collections.sort().

class RecipeCompare implements Comparator<Recipe> {

    @Override
    public int compare(Recipe o1, Recipe o2) {
        // write comparison logic here like below , it's just a sample
        return o1.getID().compareTo(o2.getID());
    }
}

然后使用Comparatoras

Collections.sort(recipes,new RecipeCompare());


 类似资料:
  • 问题内容: 我想对英语句子加标签,并进行一些处理。我想使用openNLP。我已经安装了 当我执行命令时 它提供输出POSTagging Text.txt中的输入 我希望它安装正确吗? 现在如何从Java应用程序内部进行此POStagging?我已将openNLPtools,jwnl,maxent jar添加到项目中,但是如何调用POStagging? 问题答案: 这是我放在一起的一些(旧)示例代码

  • 问题内容: 我正在尝试使用Java中的HtmlUnit登录网站。首先,我输入用户名,然后输入密码。之后,我需要从下拉框中选择一个选项。输入用户名和密码似乎有效,但是当我尝试从下拉框中选择项目时出现错误。谁能帮我解决这个问题?我的代码如下: 问题答案: 这是HTMLunit的单元测试中的代码。 请注意,他们使用的是getSelectsByName而不是getElementById。 这是这些单元测试

  • 问题内容: 使用Java工具, 我可以使用WSDL生成打SOAP Web服务所需的存根和类。 但是我不知道如何在REST中做同样的事情。如何获得击中REST Web服务所需的Java类。无论如何,要使用该服务的方式是什么? 谁能给我指路? 问题答案: 工作示例,请尝试以下操作:

  • 问题内容: 我是Java的初学者,并且正在使用newboston的Java教程(youtube)。在教程36-37中,他开始使用String.format();。他在过去的教程中没有解释。这是他正在上课的代码: 因此,他正在做的是进行某种军事时间课程,并使用String格式。所以我要问的是,是否有人可以向我解释String.format()的工作方式以及上述格式的工作方式。谢谢您的帮助! 问题答案

  • 问题内容: 我是Java的初学者。我只想使用Eclipse输出。 我试过了,但是没有用。 问题答案: java.lang不包含名为StringUtils的类。有一些第三方库,例如Apache Commons Lang 或Spring framework 。确保在项目类路径中有相关的jar,然后导入正确的类。

  • 问题内容: 在Java中使用curl。我的问题是Java内置的curl或我必须从任何第三方资源安装它才能与Java一起使用。如果是这样,如何在java中安装curl。我已经搜寻了很长时间,但没有找到任何帮助。希望有人能帮助我。 提前致谢。 问题答案: 你可以使用和/或。 另请参见有关该主题的Oracle简单教程。但是,它有点冗长。为了减少冗长的代码结尾,你可能需要考虑使用Apache HttpCl

  • 问题内容: 在这个问题上,对泛型及其在幕后的实际工作进行了很好的讨论,因此我们都知道这是整数数组的向量,并且是一个表,其键是字符串和值 s。但是,让我感到困扰的是的用法Class<>。 Java类应该也采用模板名称,(否则,Eclipse中的黄色下划线告诉我)。我不明白该放什么。该对象的重点是当你没有完全有关该反射的信息时。为什么要让我指定对象将容纳哪个类?我显然不知道,或者我不会使用该对象,而是

  • 本文向大家介绍如何在JAVA中使用Synchronized,包括了如何在JAVA中使用Synchronized的使用技巧和注意事项,需要的朋友参考一下 《编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程》一文详细讲述了线程、进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础。本文将接着讲一下Java线程同步中的一个重要的概念synchronized. 在Java中,syn