In meiner Java-Anwendung kompilieren und starten beide der folgenden und produzieren das gewünschte Ergebnis.Java - "Rotierende" Objekte in einer LinkedList - Ist LinkedList.addLast (LinkedList.removeFirst()) Gute oder schlechte Programmierung?
//"Rotate" the list items one place to the left.
myLinkedList.addLast(myLinkedList.removeFirst());
Und eine „Rotation“ in der entgegengesetzten Richtung
//"Rotate" the list items one place to the right.
myLinkedList.addFirst(myLinkedList.removeLast());
Both „Rotationen“ nur eine Zeile Code erfordert jeder, aber ich frage mich, ob dies der richtige Weg ist, um darüber zu gehen ? Gibt es Fallen in diesem Ansatz?
Gibt es einen besseren, robusteren, weniger fehleranfälligen Weg, das Gleiche wie oben zu tun, für den mehr als eine Codezeile benötigt wird, und wenn ja, warum?
Dies ist ziemlich nah an dem, was 'ArrayDeque' tut. – finnw
Danke Jon, der "start \ end" -Index ist eine gute Idee, die ich mit verwenden werde. Der Code, den ich gepostet habe, ist Teil der Logik eines Sliding-Block-Puzzles, das ich in Swing entwickelt habe. –