Вот код, который у меня есть. Я пытаюсь проверить мой BubbleSort метод ..Попытка создать и испытать сопоставимый класс arraylist
import java.util.ArrayList;
import java.util.List;
public class MyArrayList<T extends Comparable<? super T>> extends ArrayList<Comparable<T>> {
private static final long serialVersionUID = 1L;
private MyArrayList<T> myList; // class list
public MyArrayList(ArrayList<Comparable<T>> asList) {
for (Comparable<T> e: asList) {
myList.add(e);
}
}
public void bubbleSort() {
boolean swapped = true;
while (swapped) {
swapped = false;
for (int i = 0; i < this.size() - 1; i++) {
if (this.get(i).compareTo((T) this.get(i + 1)) > 0) {
swapped = true;
Comparable<T> temp = this.get(i);
this.set(i, this.get(i + 1));
this.set(i + 1, temp);
}
}
}
}
}
В моем тестовом классе, у меня возникают проблемы при создании списков, чтобы проверить мой метод BubbleSort. Я хочу попытаться создать список Integer (из массива), список строк и несколько других, но я продолжаю получать различные ошибки.
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
public class MyArrayListTest<T> {
public void setUp() {
Integer[] testIntArray = new Integer[]{0, 1, 2, 3};
MyArrayList<Integer> myList = new MyArrayList<Integer>(Arrays.asList(testIntArray));
}
}
Любые идеи, почему это не работает, и как я буду создавать MyArrayList?
Почему экземпляру MyArrayList нужен другой экземпляр MyArrayList для работы? Получает ли метод get() ArrayList поиск элементов в 'myList'? –
Идея заключалась в том, чтобы создать объект MyArrayList, а затем просто вызвать на него .bubbleSort. Я создал конструктор, потому что я не мог найти способ не использовать его. – glcohen
Наличие конструктора - это не проблема, которую я пытаюсь вам показать. Наличие поля myList - это то, что не имеет смысла. Здесь вы занимаетесь наследованием, а не композицией. –