У меня есть следующий код, как я могу использовать метод compareTo с примитивными типами:
public class mySortertedList<T extends Comparable<T>> extends myLinkedList<T> {
class Node {
Node next = null;
T data;
Node (T x) {
data = x;
}
}
public int compareTo (T Obj) {
return this.compareTo(Obj);
}
По сути, у меня есть отсортированный связанный список, который добавляет значения в список на основе метода compareTo. Как я могу убедиться, что compareTo работает для примитивных типов, по крайней мере, для целых чисел? Любая помощь высоко ценится!
РЕДАКТИРОВАТЬ: Чтобы уточнить, вот еще код: Основная программа:
public static void main(String[] args) {
newList.addTo(4);
newList.addTo(1337);
newList.addTo(30);
newList.addTo(15);
}
У меня также есть другие методы, такие как get(int index), remove(), т.е. удаляет последний элемент в списке. Вот метод addTo из mySortertList‹T расширяет класс Comparable›, есть объявление переменной start типа Node, это просто указатель как отправная точка для прохода по всему связанному списку один за другим:
private Node start = null;
public void addTo(T x) {
Node newNode = new Node(x);
Node pointer = start;
if (start == null) {
start = newNode;
} else if (size()==1){
if (newNode.data.compareTo(start.data)<0) {
newNode.next= start;
start = newNode;
} else {
start.next= newNode;
}
} else {
boolean valuePlaced= false;
Node pointer2= start.next;
while (pointer2 !=null) {
if (newNode.data.compareTo(pointer.data)<0) {
newNode.next= start.next;
start.next = newNode;
valuePlaced = true;
} else if (newNode.data.compareTo(pointer2.data)<0) {
pointer = newNode;
new.next= pointer2;
valuePlaced = true;
}
pointer = pointer.next;
pointer2 = pointer2.next;
}
if (valuePlaced == false) {
pointer.next= newNode;
}
}
}
==
3) этот вопрос не имеет большого смысла - person Eugene   schedule 12.03.2021