目前,我正在尝试创建一种方法来为我的作业对整数字典堆栈的数组列表进行排序。目前这是我所拥有的,但是,现在我面临一个问题。
Collections.sort(arrayList, new Comparator<Stack<Integer>>(){
public int compare(Stack<Integer> list1, Stack<Integer> list2){
int result = 0;
for (int i = 0; i <= list1.size() - 1 && result == 0; i++)
{
result = list2.get(i).compareTo(list1.get(i));
}
return result;
}
});
当我尝试输入[[1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 3], [1, 1, 1, 3, 1], [1, 1, 3, 1, 1], [1, 3, 1, 1, 1], [3, 1, 1, 1, 1], [1, 1, 3, 3], [1, 3, 1, 3], [1, 3, 3, 1], [3, 1, 1, 3], [3, 1, 3, 1], [3, 3, 1, 1], [1, 4, 4], [4, 1, 4], [4, 4, 1], [3, 3, 3]]作为整数堆栈的数组列表并设法得到这个结果时:
输出: [[4, 4, 1], [4, 1, 4], [3, 3, 3], [3, 3, 1, 1], [3, 1, 3, 1], [3, 1, 1, 3], [3, 1, 1, 1, 1], [1, 4, 4], [1, 3, 3, 1], [1, 3, 1, 3], [1, 3, 1, 1, 1], [1, 1, 3, 3], [1, 1, 3, 1, 1], [1, 1, 1, 3, 1], [1, 1, 1, 1, 3], [1, 1, 1, 1, 1, 1]]
正如你所看到的,这不是字典式的,这就是我的目标
预期输出: [[1, 4, 4], [3, 3, 3], [4, 1, 4], [4, 4, 1], [1, 1, 3, 3], [1, 3, 1, 3], [1, 3, 3, 1], [3, 1, 1, 3], [3, 1, 3, 1], [3, 3, 1, 1], [1, 1, 1, 1, 3], [1, 1, 1, 3, 1], [1, 1, 3, 1, 1], [1, 3, 1, 1, 1], [3, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]
这是问题,我哪里弄错了?.compareTo 是如何工作的?
编辑:
显然,我的教授对字典序的含义产生了误解。但是,预期的输出是我教授想要的输出
皈依舞
杨魅力
素胚勾勒不出你
相关分类