Я пытаюсь сортировать ArrayList с помощью предопределенного массива индексов. Мой текущий пример использует копию оригинального ArrayList для сортировки и, следовательно, не является масштабируемым для ArrayLists более крупных объектовСортировка ArrayList с использованием предопределенного списка индексов
package sortExample;
import java.awt.List;
import java.util.ArrayList;
import java.util.Arrays;
public class sortExample {
public static void main(String[] args) {
String [] str = new String[] {"a","b","c","d"};
ArrayList<String> arr1 = new ArrayList<String>(Arrays.asList(str));
int [] indices = {3,1,2,0};
ArrayList<String> arr2 = new ArrayList(arr1.size());
for (int i = 0; i < arr1.size(); i++) {
arr2.add("0");
}
int arrIndex = 0;
for (int i : indices){
String st = arr1.get(arrIndex);
arr2.set(i, st);
arrIndex++;
}
System.out.println(arr1.toString());
System.out.println(arr2.toString());
}
}
что ваш вопрос? это немного сложно, как вы это делаете, но он работает ...... – ParkerHalo
Можно ли отсортировать ArrayList arr1 с помощью массива индексов без создания копии arr2? – scs
Почему вы не просто используете Collections.sort()? – VDanyliuk