Java 国家排序表
我想生成一个排序列表中所有国家的列表。我试过这个:Java 国家排序表,java,Java,我想生成一个排序列表中所有国家的列表。我试过这个: public Map<String, String> getCountryNameCodeList() { String[] countryCodes = Locale.getISOCountries(); Arrays.sort(countryCodes); Map<String, String> list = new HashMap<>();
public Map<String, String> getCountryNameCodeList() {
String[] countryCodes = Locale.getISOCountries();
Arrays.sort(countryCodes);
Map<String, String> list = new HashMap<>();
for (String countryCode : countryCodes) {
Locale obj = new Locale("", countryCode);
list.put(obj.getDisplayCountry(), obj.getCountry());
}
return list;
}
公共地图getCountryNameCodeList(){
字符串[]countryCodes=Locale.getISOCountries();
数组。排序(countryCodes);
映射列表=新的HashMap();
for(字符串countryCode:countryCodes){
语言环境obj=新语言环境(“,国家代码);
put(obj.getDisplayCountry(),obj.getCountry());
}
退货清单;
}
但由于某些原因,该列表未排序。正确的方法是什么?
HashMap
未排序,请使用:
此实现与HashMap的不同之处在于它维护
贯穿其所有条目的双链接列表。此链接
列表定义了迭代顺序,这通常是
哪些键已插入地图(插入顺序)
换衣服
Map<String, String> list = new HashMap<>();
Map list=newhashmap();
致:
Map list=newlinkedhashmap();
HashMap
未排序,请使用:
此实现与HashMap的不同之处在于它维护
贯穿其所有条目的双链接列表。此链接
列表定义了迭代顺序,这通常是
哪些键已插入地图(插入顺序)
换衣服
Map<String, String> list = new HashMap<>();
Map list=newhashmap();
致:
Map list=newlinkedhashmap();
使用TreeMap()而不是HashMap()。HashMap
不保留/保证任何顺序。使用TreeMap
它会根据键自动对条目进行排序。您也可以使用LinkedHashMap,因为它持有顺序。旁注:不要调用您的方法getCountryNameCodeList
,因为这意味着您返回的是列表,而不是映射。不要调用map
列表。那太令人困惑了。(不要调用语言环境
obj
)。给事物赋予有意义的名称。使用TreeMap()而不是HashMap()。HashMap
不保留/保证任何顺序。使用TreeMap
它会根据键自动对条目进行排序。您也可以使用LinkedHashMap,因为它持有顺序。旁注:不要调用您的方法getCountryNameCodeList
,因为这意味着您返回的是列表,而不是映射。不要调用map
列表。那太令人困惑了。(不要调用语言环境
obj
)。给东西起个有意义的名字。他需要在返回它之前调用sort()吗?他需要在返回它之前调用sort()吗?