Java 如何创建一个通用的排序方法来对多种类型的ArrayList的HashMap进行排序?

Java 如何创建一个通用的排序方法来对多种类型的ArrayList的HashMap进行排序?,java,sorting,arraylist,hashmap,Java,Sorting,Arraylist,Hashmap,我试图对通过的数组列表哈希图进行选择排序,但我有点卡住了。我不知道如何使它成为一个通用的方法,可以处理int、double和string。我已经看过了过去类似的问题,但我仍然不明白。任何帮助或指导都是非常感谢的 public static HashMap sort_list(HashMap lists) { HashMap sorted_lists = new HashMap(); ArrayList<Integer> sorted_ints = new Arra

我试图对通过的数组列表哈希图进行选择排序,但我有点卡住了。我不知道如何使它成为一个通用的方法,可以处理int、double和string。我已经看过了过去类似的问题,但我仍然不明白。任何帮助或指导都是非常感谢的

public static HashMap sort_list(HashMap lists) {

    HashMap sorted_lists = new HashMap();

    ArrayList<Integer> sorted_ints = new ArrayList<>();
    ArrayList<Double> sorted_doubles = new ArrayList<>();
    ArrayList<String> sorted_strings = new ArrayList<>();

    ArrayList list_of_ints = (ArrayList) lists.get("ints");
    ArrayList list_of_doubles = (ArrayList) lists.get("doubles");
    ArrayList list_of_strings = (ArrayList) lists.get("strings");

    //My sort code below (which doesn't work with this implementation)
    int min;

    for(int i = 0; i < arr.size() - 1; i++) {

        min = i;

        for(int j = i + 1; j < arr.size(); j++) {

            if(arr.get(j) < arr.get(min)) {
                min = j;
            }
        }

        int temp = arr.get(min);
        arr.set(min, arr.get(i));
        arr.set(i, temp);
    }
    // return hashmap
    return sorted_lists;
}
publicstatichashmap排序列表(HashMap列表){
HashMap sorted_lists=新HashMap();
ArrayList sorted_ints=新的ArrayList();
ArrayList sorted_doubles=新的ArrayList();
ArrayList sorted_strings=新的ArrayList();
ArrayList list of int=(ArrayList)list.get(“ints”);
ArrayList list of doubles=(ArrayList)list.get(“doubles”);
ArrayList list of_strings=(ArrayList)list.get(“strings”);
//下面是我的排序代码(此实现不适用)
int-min;
对于(int i=0;i
Java已经提供了一种对
列表进行排序的工具,只要
列表中的元素实现了
可比较的
接口。它被称为
Collections.sort
。这是执行“泛型排序”的正确方法:实现与集合完全相同的适当接口。排序
需要。

不要使用原始泛型类型。始终在
HashMap
ArrayList
之后添加
。您试图排序的内容非常不清楚。什么是arr此外,不能有
int
值的
列表,因为基元类型不能与泛型一起使用。你的意思是把
list\u int
变成
ArrayList
吗你为什么不直接调用
sort()
方法呢?@Andreas:是的,但是如果有一个合理的
,那么这个问题几乎已经得到了回答。关键是:像这样使用异构列表类型闻起来像是设计错误。很难证明这种代码是正确的。