排序国家列表

时间:2019-01-04 15:56:53

标签: java

我想在排序列表中生成所有国家/地区的列表。我尝试过:

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;
    }

但是由于某种原因,列表未排序。要塞的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

HashMap未排序,请使用LinkedHashMap

  

此实现与HashMap的不同之处在于,它维护了   在其所有条目中运行的双向链表。这个链接   列表定义了迭代顺序,通常是   哪些键已插入地图(插入顺序)。

只是改变

Map<String, String> list = new HashMap<>();

收件人:

Map<String, String> list = new LinkedHashMap<>();