Возвращение элемента из связанного списка LinkedList
Делаю метод get в классе LinkedList
public class Main {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<>();
list.add(34);
list.add(120);
list.add(-10);
list.add(11);
list.add(50);
list.add(100);
list.add(99);
list.addToBegin(77);
list.addToBegin(88);
list.addToBegin(99);
System.out.println(list.get(3));
}
}
public class LinkedList<T> {
private int index;
private static class Node<T> {
T value;
Node<T> next;
public Node(T value) {
this.value = value;
}
}
private Node<T> first;
private Node<T> last;
private int size;
public void add(T element) {
// создаю новый узел
Node<T> newNode = new Node<>(element);
if (size == 0) {
first = newNode;
} else {
last.next = newNode;
}
last = newNode;
size++;
}
public void addToBegin(T element) {
Node<T> newNode = new Node<>(element);
if (size == 0) {
last = newNode;
} else {
newNode.next = first;
}
first = newNode;
size++;
}
public int size() {
return size;
}
public T get(int index) {
if (index > -1 && index < size)
return elements[index];
else
System.out.println("Invalid Index");
return null;
}
}
Как исправить мою ошибку ?
Ответы (1 шт):
Автор решения: and73
→ Ссылка
Вот рабочий код :
public class Main {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<>();
list.add(34);
list.add(120);
list.add(-10);
list.add(11);
list.add(50);
list.add(100);
list.add(99);
list.addToBegin(77);
list.addToBegin(88);
list.addToBegin(99);
System.out.println(list.get(5));
}
}
public class LinkedList<T> {
private int index;
private int counter;
private static class Node<T> {
T value;
Node<T> next;
public Node(T value) {
this.value = value;
}
}
private Node<T> first;
private Node<T> last;
private int size;
public void add(T element) {
// создаю новый узел
Node<T> newNode = new Node<>(element);
if (size == 0) {
first = newNode;
} else {
last.next = newNode;
}
last = newNode;
size++;
}
public void addToBegin(T element) {
Node<T> newNode = new Node<>(element);
if (size == 0) {
last = newNode;
} else {
newNode.next = first;
}
first = newNode;
size++;
}
public int size() {
return size;
}
private boolean isEmpty(){
int counter = 0;
return false;
}
public T get(int index) {
if (index < 0 || index >= size) {
System.out.println("Invalid Index");
return null;
}
Node<T> list = first;
for (int i = 0; i < index; i++)
list = list.next;
return list.value;
}
public String toString() {
LinkedList.Node<T> node = this.first;
StringBuilder sb = new StringBuilder("[");
for (int i = 0; i < size; i++) {
sb = sb.append(node.value.toString() + " ");
node = node.next;
}
sb = sb.append("]");
return sb.toString();
}
}
