如何按字母顺序对我的地图数组列表进行排序
How to Sort my Map Arraylist Alphabetically
我在微调器中的项目没有按照我的代码中所写的字母顺序在我的应用程序中显示,我希望 KEY 以我在代码中列出的字母顺序准确显示。
查看下面我的代码
spinner = (Spinner) findViewById(R.id.spinner);
final Map<String, String> flanguages = new HashMap<String, String>();
flanguages.put("Arabic", "ar");
flanguages.put("English", "en");
flanguages.put("French", "fr");
flanguages.put("Hausa", "ha");
flanguages.put("Igbo", "ig");
flanguages.put("Japanese", "ja");
flanguages.put("Yoruba", "yo");
final List<String> list = new ArrayList<String>(flanguages.keySet());
这是它现在在我的应用程序上显示的内容
英语
法语
阿拉伯
豪萨语
日本人
gbo约鲁巴语
但我想要这样
阿拉伯语
英语
法语
豪萨语
伊博语
日本人
约鲁巴
在您的代码中而不是
final Map<String, String> flanguages = new HashMap<String, String>();
使用
final Map<String, String> flanguages = new TreeMap<String, String>();
由于 HashMap 不会按顺序存储键,因此将用于查找。因此,为了按排序顺序存储键,最好选择 TreeMap
以下为完整代码,仅供参考
final Map<String, String> flanguages = new TreeMap<String, String>();
flanguages.put("Arabic", "ar");
flanguages.put("English", "en");
flanguages.put("French", "fr");
flanguages.put("Hausa", "ha");
flanguages.put("Igbo", "ig");
flanguages.put("Japanese", "ja");
flanguages.put("Yoruba", "yo");
final List<String> list = new ArrayList<String>(flanguages.keySet());
我在微调器中的项目没有按照我的代码中所写的字母顺序在我的应用程序中显示,我希望 KEY 以我在代码中列出的字母顺序准确显示。
查看下面我的代码
spinner = (Spinner) findViewById(R.id.spinner);
final Map<String, String> flanguages = new HashMap<String, String>();
flanguages.put("Arabic", "ar");
flanguages.put("English", "en");
flanguages.put("French", "fr");
flanguages.put("Hausa", "ha");
flanguages.put("Igbo", "ig");
flanguages.put("Japanese", "ja");
flanguages.put("Yoruba", "yo");
final List<String> list = new ArrayList<String>(flanguages.keySet());
这是它现在在我的应用程序上显示的内容 英语 法语 阿拉伯 豪萨语 日本人 gbo约鲁巴语
但我想要这样
阿拉伯语 英语 法语 豪萨语 伊博语 日本人 约鲁巴
在您的代码中而不是
final Map<String, String> flanguages = new HashMap<String, String>();
使用
final Map<String, String> flanguages = new TreeMap<String, String>();
由于 HashMap 不会按顺序存储键,因此将用于查找。因此,为了按排序顺序存储键,最好选择 TreeMap
以下为完整代码,仅供参考
final Map<String, String> flanguages = new TreeMap<String, String>();
flanguages.put("Arabic", "ar");
flanguages.put("English", "en");
flanguages.put("French", "fr");
flanguages.put("Hausa", "ha");
flanguages.put("Igbo", "ig");
flanguages.put("Japanese", "ja");
flanguages.put("Yoruba", "yo");
final List<String> list = new ArrayList<String>(flanguages.keySet());