Ich habe eine Liste von Benutzernamen und einer der Knoten. Ich brauche eine Datenstruktur, um Informationen darüber zu halten, welche Benutzernamen sich auf einem bestimmten Knoten befinden. Ich würde etwas wie HashMap<String, ArrayList<String>
brauchen, aber ich muss auch die gesamte Benutzerliste in einem einfachen (nicht auf einer Reihe von verschiedenen Arrays). Existiert diese Datenstruktur oder muss ich zwei ArrayList
und eine HashMap
halten?Java: Wie binde ich Werte von zwei verschiedenen Arrays
Antwort
Warum erstellen Sie kein Objekt mit 3 privaten Feldern (zwei Listen und eine Karte)?
Wenn etwas nicht in Java existieren können Sie versuchen, auf eigene Faust zu erstellen:
Knoten:
public class Node {
List<User> users = new ArrayList<>();
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
}
Benutzer:
public class User {
String username;
String name;
String surname;
// ...
}
Sie können nur Verwenden Sie List<String> usernames
in Ihrem Node
, wenn Sie kein komplexes Objekt benötigen.
Dann irgendwo in Ihrer App:
public List<User> getUsersOfNode(Node node) {
return node.getUsers();
}
mit diesem Betrieb ist einfacher als mit HashMap
.
HashMap<String, ArrayList<String>
scheint mir eine vernünftige Lösung. Ich sehe hier keine Notwendigkeit für benutzerdefinierte Strukturen.
Für die Operationen mit Benutzernamen können Sie .keySet()
oder .entrySet()
(oder eine andere Methode der Iteration) verwenden.
Ich mag Ihren ursprünglichen Gedanken über die Verwendung eines Map
. Ich denke, ein Map
wäre ein guter Anfang für dieses Problem.
Sind alle Benutzernamen garantiert eindeutig? Wenn ja, würde ich Set
anstelle von List
verwenden, um die Benutzernamen darzustellen. Vielleicht könnten Sie zuerst alle Benutzernamen in der Liste an eine Set<Usernames>
übertragen, dann könnten Sie durch die Knoten/Benutzernamen Listen durchlaufen, um Ihre Map<Node, Set<Usernames>>
zu generieren.
Sie würden die Set<Usernames>
und eine Map<Node, Set<Usernames>>
verfolgen, aber ich denke, es würde die richtigen Daten speichern und Sie könnten schnelle Nachschlagevorgänge auf den Benutzernamen festlegen.
- 1. Wie häufig Werte von zwei verschiedenen Arrays in PHP bekommen
- 2. Wie bekomme ich zwei Werte von zwei verschiedenen Join-Pfaden?
- 3. Zwei Arrays für zwei Werte
- 4. Kreuzung von zwei numply Arrays von verschiedenen Dimensionen von Spalte
- 5. Wie binde ich Werte von DropDownListFor an meinen Controller?
- 6. Join Werte von zwei verschiedenen KStreams
- 7. Wie kann ich zwei Arrays vergleichen?
- 8. Wie generiere ich Zufallszahlen in zwei verschiedenen Arrays? (C++)
- 9. erstellen gruppiert Array mit zwei verschiedenen Arrays
- 10. Werte von zwei Arrays in Python vergleichen
- 11. Kombinieren von zwei inneren Werte multidimensionalen Arrays
- 12. die Werte von zwei Arrays in php
- 13. Wie ziehe ich zwei Arrays
- 14. Versuchen, Werte von zwei Arrays zu summieren
- 15. wie die Werte von zwei verschiedenen Arrays miteinander in Winkel js
- 16. Wie finde ich passende Werte in zwei Arrays?
- 17. Wie kann ich Werte in zwei unsortierten int Arrays vergleichen?
- 18. Wie subtrahieren Sie Werte von zwei verschiedenen Spalten aus zwei verschiedenen Tabellen?
- 19. Erstellen von Datenrahmen aus zwei verschiedenen Arrays entfachen
- 20. php mehrdimensionalen Array Schlüssel Wert Suche von zwei verschiedenen Arrays
- 21. zwei json codierten Arrays in 2 verschiedenen Arrays
- 22. Wert von verschiedenen Arrays erhalten
- 23. versuchen Arrayelementwerte aus zwei verschiedenen Arrays
- 24. mongodb Abfrage in zwei verschiedenen Arrays
- 25. "LEFT JOIN" von zwei verschiedenen Java-Objekte
- 26. Wie man zwei Werte aus zwei verschiedenen Listen hinzufügt
- 27. Wie Werte von zwei Arrays übereinstimmen und ändern
- 28. Wie können Werte von zwei indizierten Arrays abwechselnd wiedergegeben werden?
- 29. Wie mischt man zwei Arrays in Java?
- 30. Wie sortiere ich zwei Arrays basierend auf Ratio in Java?