package solution; //2017_OOP_90.jar importieren die von Bayer in der Aufgabenstellung zur Verfügung gestellt wird. //import testat.*; public class SimpleLinkedList extends AbstractSimpleList { Node firstNode; int size; public SimpleLinkedList() { firstNode = null; size = 0; } @Override public int size() { return size; } @Override public boolean add(E e) { if (e == null) { return false; } else { Node newNode = new Node<>(e); if (firstNode == null) { firstNode = newNode; } else { Node currentNode = firstNode; while (currentNode != null) { currentNode = currentNode.getSuccessor(); } currentNode.setSuccessor(newNode); currentNode.setPredecessor(currentNode); } } size++; return true; } @Override public boolean remove(Object o) { if(o == null) { return false; } Node aktuellerKnoten = ersteKnoten; while(aktuellerKnoten != null) { aktuellerKnoten = aktuellerKnoten.getSuccessor(); } if(o.equals(aktuellerKnoten)) { aktuellerKnoten.setPayload(null); size--; aktuellerKnoten = aktuellerKnoten.getPredecessor(); return true; } return false; } @Override public boolean contains(Object o) { if(o == null) { return false; } Node aktuellerKnoten = ersteKnoten; while(aktuellerKnoten != null) { aktuellerKnoten = aktuellerKnoten.getSuccessor(); } if(o.equals(aktuellerKnoten)) { return true; } return false; } @Override public void forAll(ICommand command) { if(command != null) { Node aktuellerKnoten = ersteKnoten; while(aktuellerKnoten != null) { command.execute(aktuellerKnoten.getPayload()); aktuellerKnoten = aktuellerKnoten.getSuccessor(); } } } }