我想排序在ArrayList中的整数,该部分正在工作,但我也试图保持与正确的整数匹配的并行数组。我也无法将它们变成分组对象。所以,如果我有3个数字(ArrayList中的数字和ArrayList中的数字(“Hello” - 2,“ - 5,”For - 1)),我会让For和1先到达,然后您好,到最后将是和5所以它会延续与数量的单词。我有下面的代码是正确的排序整数,但似乎这样的词语被随机分配。ArrayList整数排序与字符串连接
void quickSort2 (ArrayList<Integer> list, int first, int last, ArrayList list2){
//Set first and last
int g = first, h = last;
int midIndex, dividingValue;
//middle values
midIndex = (first + last)/2;
dividingValue = list.get(midIndex);
System.out.println("midIdex = "+midIndex + "first = "+first+"last = "+last);
//find if higher or lower
do{
while (list.get(g) < dividingValue) {
g++;
}
while (list.get(h) > dividingValue){
h--;
}
if (g <= h){
//Switch ints (Works)
int temp = list.get(g);
list.set(g,list.get(h));
list.set(h,temp);
g++;
h--;
//Switch Strings with the ints (Doesnt work)
ArrayList blah = new ArrayList();
blah.add(list2.get(g));
list2.set(g,list2.get(h));
list2.set(h,blah.get(0));
}
}
while (g<h);
//Back to the method
if(h>first) {
quickSort2(list, first, h, list2);
}
if(g<last) {
quickSort2(list, g, last, list2);
}
}
使用有排序的地图实现。 –
“我不能让他们成为一个分组对象,”为什么?关键值对怎么样? – turbo
通过“分组对象”,我假设你的意思是一些对象既有整数也有'String'。那么,为什么你不能分组对象?当您只想将其中一个作为关键字进行排序时,这是用多个数据分类项目的正常方式。 – ajb