Sehr geehrte Community,
ich habe mich zum ersten Mal daran gewagt eine eigene Liste zu programmieren. Grundsätzlich verstehe ich die Gedanken dahinter, aber nicht genau wie ich es implementieren soll. In meinem Code habe ich eine insert Methode hinzugefügt und eine find variable beim Index. Gebe ich beim insert 9 ein und suche nach dem index 0 und 1 so gibt er für beide value 9 aus. Bei index 2 findet er dann nichts, weil es null ist (was auch gut ist). Benutze ich die insert methode dann ein zweites Mal, so ist die 9 dann beim idex 0 und die neue Zahl beim index 1. Wieso war die 9 dann davor beim index 0 und 1, die Liste ist dann ja eigentlich nicht brauchbar.
package list;
public class MyList {
ListElement start;
public MyList() {
start = new ListElement(9);
}
public void insertLast(int value) {
ListElement newElement = new ListElement(value);
start.next = newElement;
}
public double get(int index) {
return findIndex(index).getValue();
}
private ListElement findIndex(int index) {
ListElement iterator = start;
for (int i = 0; i < index; i++) {
if (iterator.hasNext()) {
iterator = iterator.next;
} else {
return null;
}
}
return iterator;
}
}
package list;
public class ListElement {
double value;
ListElement next;
public ListElement(double value) {
this.value = value;
next = null;
}
public double getValue() {
return value;
}
public boolean hasNext() {
if (this.next == null) {
return false;
} else {
return true;
}
}
}
package list;
public class Main {
public static void main(String[] args) {
MyList myList = new MyList();
myList.insertLast(9);
System.out.println(myList.get(0));
System.out.println(myList.get(1));
System.out.println("--------------------------------");
myList.insertLast(3);
System.out.println(myList.get(0));
System.out.println(myList.get(1));
}
}
ich habe mich zum ersten Mal daran gewagt eine eigene Liste zu programmieren. Grundsätzlich verstehe ich die Gedanken dahinter, aber nicht genau wie ich es implementieren soll. In meinem Code habe ich eine insert Methode hinzugefügt und eine find variable beim Index. Gebe ich beim insert 9 ein und suche nach dem index 0 und 1 so gibt er für beide value 9 aus. Bei index 2 findet er dann nichts, weil es null ist (was auch gut ist). Benutze ich die insert methode dann ein zweites Mal, so ist die 9 dann beim idex 0 und die neue Zahl beim index 1. Wieso war die 9 dann davor beim index 0 und 1, die Liste ist dann ja eigentlich nicht brauchbar.
package list;
public class MyList {
ListElement start;
public MyList() {
start = new ListElement(9);
}
public void insertLast(int value) {
ListElement newElement = new ListElement(value);
start.next = newElement;
}
public double get(int index) {
return findIndex(index).getValue();
}
private ListElement findIndex(int index) {
ListElement iterator = start;
for (int i = 0; i < index; i++) {
if (iterator.hasNext()) {
iterator = iterator.next;
} else {
return null;
}
}
return iterator;
}
}
package list;
public class ListElement {
double value;
ListElement next;
public ListElement(double value) {
this.value = value;
next = null;
}
public double getValue() {
return value;
}
public boolean hasNext() {
if (this.next == null) {
return false;
} else {
return true;
}
}
}
package list;
public class Main {
public static void main(String[] args) {
MyList myList = new MyList();
myList.insertLast(9);
System.out.println(myList.get(0));
System.out.println(myList.get(1));
System.out.println("--------------------------------");
myList.insertLast(3);
System.out.println(myList.get(0));
System.out.println(myList.get(1));
}
}