I was trying to sort my ArrayList.
java.util.ArrayList arList= new java.util.ArrayList();
arList=getList();
java.util.Collections.sort(arList);
where my getList() function here
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;
}
But I am facing error :java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.Comparable
First Thing -
java.util.ArrayList arList= new java.util.ArrayList();
arList=getList();
You create the first instance unnecessary.
Second Thing -
ArrayList listItems = new ArrayList();
This list contains list HashMap And HashMap does not implements Comparable.
java.util.Collections.sort(arList);
public static <T extends Comparable<? super T>> void sort(List<T> list)
List contain(T
) must extends Comparable.
that is why it populate java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.Comparable