java - 如何对这个 HashMap 进行排序?

标签 java android

for(int i=0;i<videos.length();i++){                     
    HashMap<String, String> map = new HashMap<String, String>();    
    JSONObject e = videos.getJSONObject(i);

    map.put("id",  String.valueOf(i));
    map.put("title",  e.getString("title"));
    map.put("description",  e.getString("description"));
    mylist.add(map);
}       

嗨,我正在尝试按字母顺序对上面的代码进行排序。我知道 TreeMap 应该用于这种事情,但这样做会比较麻烦。我在排列 HashMap 时遇到错误,并且查看了许多示例。

最佳答案

使用TreeMap并不是什么大麻烦。

    for(int i=0;i<videos.length();i++){                     
        Map<String, String> map = new TreeMap<String, String>();    
        JSONObject e = videos.getJSONObject(i);

        map.put("id",  String.valueOf(i));
        map.put("title",  e.getString("title"));
        map.put("description",  e.getString("description"));
        mylist.add(map);
    }

即使这很麻烦(例如,如果您错误地将 mylist 声明为 List<HashMap> ),您也别无选择。一个HashMap本质上是未排序/无序的,你无法改变这个事实。如果您可以使用 LinkedHashMap相反,您可以按字母顺序添加条目,但如果您可以更改 map 类型,您也可以使用 TreeMap .

关于java - 如何对这个 HashMap 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8983664/

相关文章:

java - Weblogic 12c-Mapstruct-1.0.0.Final-ClassNotFoundException : Cannot find implementation

java - 如何使用 Java 和 Apache POI 根据其内容更新 Excel 单元格

java - 如何解决ModbusSlaveException : Error Code = 3?

java - 你如何从 eclipse 刷新 Maven 依赖项?

java - 使用单击 Spinner Item 刷新 ArrayList 以将新数据显示到 RecyclerView 中

android - 如果没有@Provides 注释的方法,则无法提供该类

java - Java中获取数组的总和

android - Retrofit + Rxjava 服务器连接失败时调用onError耗时较长

android - 使用 Retrofit 1.9 填充微调器?

android - react-native android 中的 gradlew assembleRelease 命令没有生成 app-release.apk