我有一个数组列表我想按字母顺序对它进行排序,请你帮我解决一下这个实现
提前致谢!
public ArrayList<ListData> getList(String itemsKey) {
if (itemsKey.equalsIgnoreCase(“names”)) {
return nameList;
} else {
return null;
}
}
我想返回nameList排序
答案 0 :(得分:2)
您可以使用:
Collections.sort(nameList, String.CASE_INSENSITIVE_ORDER);
它会按字母顺序对字符串进行排序。
答案 1 :(得分:2)
您需要使用自定义Comparator
对此集合进行排序。在不知道你的ListItem
和NameDefinition
类的情况下编写确切的代码很难,但它会是这样的(假设NameDefinition
有一个name
字段 - 如果没有,相应调整):
Collections.sort(nameList, new Comparator<ListData.ListItem>()
{
@Override
public int compare(ListItem lhs, ListItem rhs)
{
return String.CASE_INSENSITIVE_ORDER.compare(lhs.nameDefinition.name, rhs.nameDefinition.name);
}
});