SWAP List; Liste neu anordnen

beta20

Top Contributor
Hallo zusammen,

ich habe folgendes Problem:
Ich möchte gerne meine Liste neu anordnen.
Dafür habe ich zwei Integer oldValue und newValue:

Was ich mache:
Ich hole mir aus meiner Datenbank alle Objekte.
Meine Entity hat das Attribut: "int ordering":
Bsp:
Ich habe in meiner DB:
Object1 = ordering1
Object2 = ordering2;

Nun switche ich aber Object2 nach ordering1.
Heißt also:
oldvalue = 2 und newValue = 1

Wie kann ich nun die ganze Liste neu anordnen?

Code:
public void changeOrdering(Integer oldValue, Integer newValue) {

List<MyEntity> list = findListFromDatabase();

/// Hier kommt dann irgendeine switch Methode. Die Frage ist wie mache ich das??
for (MyEntity entity: list) {

// Neue Ordering in DB speichern

}

}

Danke für jede Hilfe
 

mrBrown

Super-Moderator
Mitarbeiter
Hast du mal ein Beispiel, was etwas detaillierter als das bisherige ist? Bei der Erklärung verstehe ich nicht mal Bahnhof...
 

beta20

Top Contributor
Also prinzipiell ist das der Code schon....
Ich habe eine Entity, welches ein Attribut "ordering" hat.
Nach diesem Ordering wird meine Liste in der WebGUI sortiert.
Nun verwende ich von Primefaces die Reorder - Funktion:

Was ich nun möchte ist, dass all meine Entities ebenfalls in meiner DB ein Update erhalten, weil sich die Reihenfolge geändert hat.
Primefaces übergibt mir einen oldValue und einen newValue (siehe auf der verlinkten Seite).

In meiner Service - Klasse brauche ich demnach eine Funktion für das Updaten in der DB:
Letztenendes möchte ich nun die Reihenfolge haben, die ich die Liste im WebGUI hat.
Nein, ich kann diese Liste nicht 1:1 übergeben, da ich via LazyLoading NIE alle Entities in der Liste lade.

Sprich ich muss über die Values oldValue und newValue gehen...
Kann man es nun besser verstehen?
 

httpdigest

Top Contributor
Zwei UPDATE Statements können das bewerkstelligen:

1. Alle Entitäten/Zeilen zwischen oldValue und newValue einen "nach hinten/vorne" verschieben:
if (newValue < oldValue)
`UPDATE entity SET ordering = ordering + 1 WHERE ordering < oldValue AND ordering >= newValue`
else
`UPDATE entity SET ordering = ordering - 1 WHERE ordering > oldValue AND ordering <= newValue`

2. Das "ordering" von der verschobenen Entität/Zeile selbst anpassen:
`UPDATE entity SET ordering = newValue WHERE ordering = oldValue`
 

beta20

Top Contributor
Zwei UPDATE Statements können das bewerkstelligen:

1. Alle Entitäten/Zeilen zwischen oldValue und newValue einen "nach hinten/vorne" verschieben:
if (newValue < oldValue)
`UPDATE entity SET ordering = ordering + 1 WHERE ordering < oldValue AND ordering >= newValue`
else
`UPDATE entity SET ordering = ordering - 1 WHERE ordering > oldValue AND ordering <= newValue`

2. Das "ordering" von der verschobenen Entität/Zeile selbst anpassen:
`UPDATE entity SET ordering = newValue WHERE ordering = oldValue`

Super, besten Dank - so geht.
Danke
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Swap Java Basics - Anfänger-Themen 18
NoMercy BitFlags Programm (switch on/off , swap und isSet) Java Basics - Anfänger-Themen 7
H Swap Methode Java Basics - Anfänger-Themen 1
J Swap Methode Java Basics - Anfänger-Themen 7
S generischer swap Java Basics - Anfänger-Themen 22
H Swap Java Basics - Anfänger-Themen 5
X swap in Java programmieren? Java Basics - Anfänger-Themen 12
G funktion swap Java Basics - Anfänger-Themen 12
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
J Array.list vergleichen Java Basics - Anfänger-Themen 1
B Vektor vs List Java Basics - Anfänger-Themen 4
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
H Interface Wieso "List<String> list = new ArrayList<>[…]" Java Basics - Anfänger-Themen 4
T Linked List set-Methode Java Basics - Anfänger-Themen 2
volcanos List & ArrayList nach Familiennamen abfragen Java Basics - Anfänger-Themen 57
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
L Datentypen Array List Java Basics - Anfänger-Themen 9
J Java List, Bitte um Hilfe Java Basics - Anfänger-Themen 15
J Java List, bitte um Hilfe Java Basics - Anfänger-Themen 3
F GSON file mit einer List erstellen Java Basics - Anfänger-Themen 2
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
O Collections.sort und List.sort mit Lambda Verwirrung Java Basics - Anfänger-Themen 5
J String Array zu Map<Character, List<Character>> mit Streams Java Basics - Anfänger-Themen 1
G Linked list, Methode zum Vertauschen von Elementen Java Basics - Anfänger-Themen 14
I csv auslesen, mittels List Java Basics - Anfänger-Themen 18
C Collections List über Interface zugreifen Java Basics - Anfänger-Themen 32
I Methoden List.contains() beim 2. Element = true Java Basics - Anfänger-Themen 1
N HashMap in List good practice? Java Basics - Anfänger-Themen 2
W Stream Array List - Frage Java Basics - Anfänger-Themen 5
E Interface List nicht als Collection an erkannt. Java Basics - Anfänger-Themen 14
X Array List geordnet ausgeben. (JSF und JAVA) Java Basics - Anfänger-Themen 1
D new arraylist (List) dynamisch erstellen Java Basics - Anfänger-Themen 1
Yjuq Generic Methode - Wie muss die List Definition aussehen? Java Basics - Anfänger-Themen 3
M List<String> auswählen Java Basics - Anfänger-Themen 42
F In List Rekursiv suchen Java Basics - Anfänger-Themen 12
B Unterschied zwischen (List<T> a) und (T[] a) Java Basics - Anfänger-Themen 7
T HashSet in List-Object Java Basics - Anfänger-Themen 5
B ENUM to List<String> konvertieren Java Basics - Anfänger-Themen 2
E Array-list mit einer bestimmten Länge Java Basics - Anfänger-Themen 17
B Sorting List und Remove Java Basics - Anfänger-Themen 2
B String: suche nach Wörter und in List<String> speichern Java Basics - Anfänger-Themen 3
M Methode überladen - Array List Java Basics - Anfänger-Themen 5
L LIST.ADD Java Basics - Anfänger-Themen 2
M XWPF - Bullet Point list erstellen Java Basics - Anfänger-Themen 1
I <List> sortieren Java Basics - Anfänger-Themen 2
N Klassen List-Art Java Basics - Anfänger-Themen 5
S List<T<X,Y> sortieren Java Basics - Anfänger-Themen 5
Salo Datentypen "Doppelt" List(e) ("gesucht") Java Basics - Anfänger-Themen 6
F .csv Export aus einer list Java Basics - Anfänger-Themen 25
T KlausurÜbung- Förderband-Linked List Java Basics - Anfänger-Themen 53
D Komischer Fehler nach <Integer> List Java Basics - Anfänger-Themen 2
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
T List und ArrayList Java Basics - Anfänger-Themen 3
UnityFriday method getPrevious in class List<ContentType> cannot be applied to given types Java Basics - Anfänger-Themen 29
hooked Verkettete Liste / linked list Java Basics - Anfänger-Themen 2
T Datentypen InputStream to list of Int (or similar) Java Basics - Anfänger-Themen 4
D Input/Output CSV Parser list unvollständig Java Basics - Anfänger-Themen 25
V Erste Schritte Dateinamen aus einer FIle[] in eine List Java Basics - Anfänger-Themen 11
S Methoden Linked List Methoden können nicht aufgerufen werden Java Basics - Anfänger-Themen 1
U JAXB - List wird nicht ausgefüllt Java Basics - Anfänger-Themen 1
L Linked List - Array List Java Basics - Anfänger-Themen 2
J Einfach verkettet List: Ausgabe ohne null Java Basics - Anfänger-Themen 11
D Bestimmten Wert aus Array List ausgeben Java Basics - Anfänger-Themen 7
V Personenverwaltung mit List<>, falsche Ausgaben Java Basics - Anfänger-Themen 5
M List befüllen Java Basics - Anfänger-Themen 3
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
P Anlegen und Abfragen von Array List Java Basics - Anfänger-Themen 4
S Element von List<E> in String umwandeln Java Basics - Anfänger-Themen 3
A Wie nutze ich List<List<String>> Java Basics - Anfänger-Themen 4
M Endlos schleife in List Java Basics - Anfänger-Themen 5
P Zufallszahlen ohne zahlen einer List Java Basics - Anfänger-Themen 21
C Array List mit String vergleichen und Fehlermeldung ausgeben Java Basics - Anfänger-Themen 6
S Probleme bei Ausgabe von rekursiver Methode (List) Java Basics - Anfänger-Themen 16
T Tabstopp in AWT-List? Java Basics - Anfänger-Themen 8
P Doppelte Einträge in eine List Java Basics - Anfänger-Themen 5
M Wozu Upcasting? Am Beispiel List = ArrayList Java Basics - Anfänger-Themen 2
A List mit integern füllen Java Basics - Anfänger-Themen 4
D sortieren von List<> Java Basics - Anfänger-Themen 2
B List - Drag&Drop Java Basics - Anfänger-Themen 8
SexyPenny90 Implementierung einer doubly linked list Java Basics - Anfänger-Themen 5
G Linked List Programm add Problem Java Basics - Anfänger-Themen 5
C List Abfragenproblem Java Basics - Anfänger-Themen 3
J List als anonyme Klasse Java Basics - Anfänger-Themen 9
H Collections List in List<SpecificType> als stat. generische Methode zurückgeben Java Basics - Anfänger-Themen 4
F Wozu braucht man array list? Java Basics - Anfänger-Themen 29
T Collections Wie funktioniert List() ? Java Basics - Anfänger-Themen 7
Kenan89 Java Date List Java Basics - Anfänger-Themen 4
tux20 Problem beim Schreiben von List to File Java Basics - Anfänger-Themen 2
K Frage Set List Java Basics - Anfänger-Themen 3
M Array List ausgeben Java Basics - Anfänger-Themen 13
C Typen aus List<Object[]> ändern Java Basics - Anfänger-Themen 7
S Gute List Implementation Java Basics - Anfänger-Themen 5
S Synchronisieren einer Linked List Java Basics - Anfänger-Themen 16
A List Array - wie instanzieren Java Basics - Anfänger-Themen 7
T List mit mehreren gleichen Strings bereinigen Java Basics - Anfänger-Themen 4
R List to BinaryTree Java Basics - Anfänger-Themen 13
P Set mit List vergleichen Java Basics - Anfänger-Themen 8
Binary.Coder List bzw. ArrayList als String ausgeben Java Basics - Anfänger-Themen 2
J Datentypen List - gleiche Einträge bei neuen Objekten Java Basics - Anfänger-Themen 31
T List.add(Object) führt zu NullPointerException Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben