java.lang.ClassCastException:java.util.HashMap无法强制转换为java.lang.Comparable

Naa*_*aaN 2 java sorting arraylist hashmap

我试图对我的ArrayList进行排序.

java.util.ArrayList arList= new java.util.ArrayList();  
   arList=getList();    
   java.util.Collections.sort(arList);
Run Code Online (Sandbox Code Playgroud)

我的getList()函数在这里

public ArrayList getList() throws Exception
{
ArrayList listItems = new ArrayList();
//Query executing here..............!
            while (rs.next()) 
                {
                HashMap hashList = new HashMap();
                hashList.put("name",rs.getString(1));
                hashList.put("id",rs.getBigDecimal(2));
                listItems.add(hashList);
                }
          return listItems;
}
Run Code Online (Sandbox Code Playgroud)

但我面临错误:java.lang.ClassCastException:java.util.HashMap无法强制转换为java.lang.Comparable

Sub*_*der 5

第一件事 -

java.util.ArrayList arList= new java.util.ArrayList();  
arList=getList();    
Run Code Online (Sandbox Code Playgroud)

您创建不必要的第一个实例.

第二件事 -

ArrayList listItems = new ArrayList();
Run Code Online (Sandbox Code Playgroud)

此列表包含列表HashMap和HashMap未实现Comparable.

java.util.Collections.sort(arList);

public static <T extends Comparable<? super T>> void sort(List<T> list)
Run Code Online (Sandbox Code Playgroud)

List contains(T)必须扩展Comparable.

这就是它填充的原因 java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.Comparable