我想获取Android中的语言列表,我使用此功能来获取它但是它给了我很多相同语言但不同国家的价值(但很多像我们有超过20个英语与不同的国家,这不是必要的)。
private ArrayList<ObjSelection> getLanguages() {
Locale[] locale = Locale.getAvailableLocales();// 271 values
ArrayList<ObjSelection> countries = new ArrayList<>();
for (Locale loc : locale) {
String country = loc.getDisplayCountry();
String language = loc.getDisplayLanguage();
if (country.length() > 0 && !countries.contains(country)) {
countries.add(new ObjSelection(language, country, false));
}
}
Collections.sort(countries, new Comparator<ObjSelection>() {
@Override
public int compare(ObjSelection lhs, ObjSelection rhs) {
return lhs.item.compareToIgnoreCase(rhs.item);
}
});
return countries;//216 values
}
显示任何人都可以告诉我如何优化该列表?