Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 国家排序表_Java - Fatal编程技术网

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()吗?