当前位置: 首页 > 知识库问答 >
问题:

如何对类型的ArrayList进行排序?

柳威
2023-03-14

我有一个名为map的HashMap,它将字符存储为键,将整数存储为值,然后使用以下代码将其存储到名为entries的ArrayList中:

Set<Entry<Character, Integer>> s = map.entrySet();
ArrayList<Entry<Character, Integer>> entries = new ArrayList<>(s);

现在我正在尝试根据整数值而不是键对这些条目进行排序。我试图使用一个lambda表达式来实现比较器接口,但它不起作用。这是我的代码:

Collections.sort(sortedEntries, (sortedEntries.get(0), sortedEntries.get(1)) -> { 
    sortedEntries.get(0).getValue().compareTo(sortedEntries.get(1).getValue())
});

以下是我得到的错误:

这一行有多个标记

>

  • 语法错误,插入“)”以完成表达式

    类型集合中的方法sort(列表,比较器)不适用于参数(ArrayList>,Map.Entry,Map.Entry)

    令牌“->”的语法错误;预期

  • 共有2个答案

    霍弘厚
    2023-03-14
    Collections.sort(sortedEntries, (Entry<Character,Integer> o1, Entry<Character,Integer> o2)-> {return o1.getValue().compareTo(o2.getValue());}); 
    
    颛孙炜
    2023-03-14

    您可以通过以下方式按值对列表进行排序:

    list.sort(Comparator.comparing(Entry::getValue));
    
     类似资料:
    • 问题内容: 我在Java中有一个双打列表,我想按降序对ArrayList进行排序。 输入如下: 输出应该是这样的 问题答案: 那会做你想要的。请记住要导入!

    • 问题内容: 我有一堂水果课。我正在创建此类的列表,并将每个水果添加到列表中。我想根据水果名称的顺序对该列表进行排序。 我正在使用for循环创建它的列表 我需要使用列表中每个对象的水果名称对该arrayList进行排序 问题答案: 使用这样的: 现在,你的水果清单将基于进行排序。

    • 基本上可以通过以下方式进行排序: collections.sort(列表); 这里的问题是,一旦我添加了traders arraylist中的所有值,我需要排序并显示为输出。我尝试使用collections.sort(),但它显示编译器异常。

    • 我检查了许多示例,但我不知道如何实现比较器或其他方法来解决我的问题。我试图清楚地解释我的问题。我有一个arrayList如下:我的Datamodel包括一个int作为id和一个String作为每个对象的名称; 我的第二个Arraylist还包括一个包含更多项的数据模型,但它还包括First Arraylist的值,如下所示: 现在我想根据firstArrayList(值顺序)对第二个arrayLi

    • 问题内容: 我正在尝试使用方法对类别arraylist进行排序,但运气不好。 这是我的代码: 问题答案: 您还可以使用自定义比较器: 当您要比较时,请致电: 希望能帮助到你!

    • 问题内容: 我有一个包含Quote对象的数组列表。我希望能够按名称,更改和更改百分比的字母顺序进行排序。如何排序我的数组列表? 问题答案: 创建一个合适的对象,它将根据你所需的条件比较两个项目。然后在你的上使用 。 如果以后要按其他条件排序,请使用不同的再次调用。