【问题标题】:Sorting List<> in Java [closed]Java中的排序列表<> [关闭]
【发布时间】:2020-04-27 09:59:11
【问题描述】:

我有一个List&lt;Person&gt;。 Person 的属性是 String name、String secondName、int phoneNum。

如何按字符串属性 secondName 对该列表进行排序?

我尝试将上一个列表中的数据移至另一个 List&lt;String&gt;,将 secondName 移动到第一个位置,然后应用 Collection.sort 并创建其他 List&lt;Person&gt;,列表的数据已排序,但它太复杂了。

【问题讨论】:

标签: java string list sorting


【解决方案1】:

Java 8 在 List 接口中引入了一种可以使用比较器的排序方法。

如果你有 secondName 的 getter,你可以这样做:

 myList.sort(Comparator.comparing(Person::getSecondName));

如果您没有 getter,请使用这个:

myList.sort(Comparator.comparing((person)->(person.secondName)));

更多方法和答案: link

【讨论】:

  • OP 没有提到任何吸气剂。
  • @WJS 是真的。谢谢你说
【解决方案2】:

假设这里是你的 Pojo 类人。

class Person{
String name;
String secondName;
//Getter and setters
}

然后按 java 集合 API 本身对列表进行排序。

java.util.Collections.sort(personList, new Comparator<Person>() {
        @Override
        public int compare(Person o1, Person o2) {
            return o1.getSecondName().compareToIgnoreCase(o2.getSecondName());
        }
        });

【讨论】:

    猜你喜欢
    • 2013-03-11
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    相关资源
    最近更新 更多