我试图选择对ArrayLists的传递的HashMap进行排序,但是有点卡住了。我不确定如何使它成为适用于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;
}
答案 0 :(得分:4)
如果Lists
中的元素实现了List
接口,Java已经提供了对Comparable
进行排序的功能。它称为Collections.sort
check it out。这是进行“通用排序”的正确方法:完全像Collections.sort
所要求的那样实现适当的接口。