小编典典

排序清单 按特定规则排列对象?

java

我有这个清单:

List<Country> countryList = new ArrayList<Country>();

我想使用方法按国家/地区名称对它们进行排序getCountry()。如何做到这一点?

更新:

public class Country implements Comparable
@Override
public int compareTo(Object another) {
    // TODO Auto-generated method stub
    return 0;
}

您能告诉我们如何比较它们以按字符串排序吗?阿根廷,奥地利,巴西等


阅读 152

收藏
2020-11-01

共1个答案

小编典典

有两种方法:

  1. Country落实java.util.Comparable定义一个接口 自然顺序 对你Country的对象,也就是使物体本身“知道”自己的排序。然后,您可以使用Collections.sort(List)或仅从您ListSortedSet实现切换到类似的实现TreeSet(如果不需要重复,则Set丢弃重复)

  2. 写一个java.util.Comparator来定义一个 强加的顺序, 然后调用Collections.sort(List, Comparator) 或(再次丢失重复项)去输入new TreeSet(Comparator)

实现这两个中的一个,就足以解决你的问题-既ComparableComparator可自由组合,虽然:使用Comparator将覆盖定义的自然排序Comparable

2020-11-01