Итак, у меня есть ArrayList из ArrayLists, и я использую, например, outer.get(0)
, чтобы получить первый ArrayList, но я только получаю ссылку на объект, я новичок в java, пожалуйста, помогите мне. Вот мой код, если вы заинтересованы
public class MyRecursiveTask extends RecursiveTask<List<Integer>> {
private List<Integer> numbers;
public MyRecursiveTask(List<Integer> numbers) {
this.numbers = numbers;
}
protected List<Integer> compute() {
//if work is above threshold, break tasks up into smaller tasks
if(this.numbers.size() > 2) {
System.out.println("Splitting workLoad : " + this.numbers.size());
List<MyRecursiveTask> subtasks = new ArrayList<MyRecursiveTask>();
subtasks.addAll(createSubtasks());
for(MyRecursiveTask subtask : subtasks){
subtask.fork();
}
for(MyRecursiveTask subtask : subtasks) {
subtask.join();
}
System.out.println(subtasks.get(0));
subtasks.get(1);
return numbers;
} else {
System.out.println("Doing workLoad myself: " + this.numbers.size());
bubbleSort(numbers);
}
return numbers;
}
private List<MyRecursiveTask> createSubtasks() {
List<MyRecursiveTask> subtasks = new ArrayList<MyRecursiveTask>();
List<Integer> list1 = numbers.subList(0,numbers.size()/2);
List<Integer> list2 = numbers.subList(numbers.size()/2, numbers.size());
MyRecursiveTask subtask1 = new MyRecursiveTask(list1);
MyRecursiveTask subtask2 = new MyRecursiveTask(list2);
subtasks.add(subtask1);
subtasks.add(subtask2);
return subtasks;
}