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

如何在Java中按元素大小对ArrayList进行排序?

漆雕和雅
2023-03-14

因此,我有一个列表 L1=new ArrayList<>() ,下面的字符串作为元素

    null
    null

共有1个答案

范麒
2023-03-14

我想您要找的是collections.sort(java.util.List,java.util.Comparator)。使用它,您可以指定一个自定义的比较器,该比较器根据长度而不是字母关系比较字符串。

类似于这样:

List<String> stringList = new ArrayList<String>();

// Fill the list

Comparator<String> stringLengthComparator = new Comparator<String>()
    {
        @Override
        public int compare(String o1, String o2)
        {
            return Integer.compare(o1.length(), o2.length());
        }
    };

Collections.sort(stringList, stringLengthComparator);
 类似资料:
  • 我创建了一个To-Do-List程序,记录用户输入的任务。对于每个任务,用户必须输入名称、日期等。 当用户从菜单中选择“5”时,程序会按这些任务的日期对它们进行排序。我需要根据任务的日期和时间的升序对所有任务进行排序,即日期和时间较早的任务会排在日期和时间较晚的任务之前,并显示排序后的列表。 然而,当我运行代码时,我会收到以下错误: 下面是我到目前为止的代码:(在底部)

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

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

  • 问题内容: 我有一个包含从上午8:00到下午4:00的时间列表。 当我在输出中显示它时,它似乎没有排序,而当我使用它时,它的排序时间是从1:00 pm到8:00 am。 我如何从8:00 am到4:00 pm排序我的列表? 问题答案: 不要重新发明轮子,而是使用collection(如果允许使用java8,则使用Lambdas)How ??:将列表保留为字符串,但使用Anonymous 比较器 ,

  • 问题内容: 如何将元素列表排序为排序列表。 我使用了许多jComboBox组件,但无法正常工作。如何将此列表按升序排序? 问题答案: 你可以看看。 此模型扩展了DefaultComboBoxModel,并内置了两个附加功能: 创建模型后,将对提供的数据进行排序 在向模型添加新项目时将数据添加到模型,这些项目将被插入以维持排序顺序 默认排序顺序将是添加到模型中的项目的自然排序顺序。但是,您可以通过指

  • 问题内容: 我在Java中有一个双打列表,我想按降序对ArrayList进行排序。 输入如下: 输出应该是这样的 问题答案: 那会做你想要的。请记住要导入!