我有这个清单:
List<Country> countryList = new ArrayList<Country>();
我想使用方法按国家/地区名称对它们进行排序getCountry()。如何做到这一点?
getCountry()
更新:
public class Country implements Comparable @Override public int compareTo(Object another) { // TODO Auto-generated method stub return 0; }
您能告诉我们如何比较它们以按字符串排序吗?阿根廷,奥地利,巴西等
有两种方法:
已Country落实java.util.Comparable定义一个接口 自然顺序 对你Country的对象,也就是使物体本身“知道”自己的排序。然后,您可以使用Collections.sort(List)或仅从您List的SortedSet实现切换到类似的实现TreeSet(如果不需要重复,则Set丢弃重复)
Country
java.util.Comparable
Collections.sort(List)
List
SortedSet
TreeSet
Set
写一个java.util.Comparator来定义一个 强加的顺序, 然后调用Collections.sort(List, Comparator) 或(再次丢失重复项)去输入new TreeSet(Comparator)。
java.util.Comparator
Collections.sort(List, Comparator)
new TreeSet(Comparator)
实现这两个中的一个,就足以解决你的问题-既Comparable和Comparator可自由组合,虽然:使用Comparator将覆盖定义的自然排序Comparable。
Comparable
Comparator