Beim Programmieren in Java sowohl Training als auch Nicht-Training Ich denke, Liste, Karte usw. erscheinen oft (manchmal Set, Iterator usw.).
Was jedoch nach langer Zeit konvertiert wird Weil es "das sein sollte? Wie konvertierst du das?"
Statische Methoden für Benutzer mit Klassennamen, Instanzmethoden für Benutzer mit nur Methodennamen
\ Konvertierungsziel Konvertierungsquelle |Liste, Set usw.(Collection) |
Map | Iterator | Stream | Array |
---|---|---|---|---|
List/Set etc. (Collection) |
Konstrukteur | - | iterator() | stream() |
Map | entrySet(), keySet(), values() | Konstrukteur | (Über Set) | (Über Set) |
Stream | Collect() | Collect() | iterator() | Zwischenbetrieb im Allgemeinen |
Array | (Nur Liste) Arrays.asList()※ |
- | (Über Liste) | Steam.of() |
In Java integrierte Collection-Klassen (ArrayList, HashSet, ArrayDeque usw.) Einige Konstruktoren haben eine Sammlung erstellt. Karte ist keine Sammlung, aber Karte → Karte kann dasselbe tun.
Collection.java
//Set im Voraus vorbereiten
Set<String> ESet = Set.of("list","set","deque");
//Auf Liste setzen!
List<String> EList = new ArrayList(Eset);
Wenn Sie nur die Schlüsselliste möchten, verwenden Sie keySet. Wenn Sie nur den Inhalt möchten, verwenden Sie values (). entrySet (), wenn Sie beide in der for-Anweisung verwenden möchten
Map.java
//Karte im Voraus vorbereiten
Map<String,Collection<String>> EMap = new HashMap<>();
EMap.put("list",List.of("list"));
EMap.put("set",Set.of("set"));
//Zu setzende Karte!
Set<String> ESet = EMap.keySet();
//Auf Iterator einstellen!
ESet.iterator();
//Map → Iterator ist auch durch Anschließen möglich
EMap.keySet().iterator();
List.java
List<String> EList = List.of("list","set","deque");
String[] EArray = EList.toArray(new String[0]);
In Stream können Sie mithilfe von collect () eine Sammlung erstellen. (Es ist auch möglich, etwas anderes als Sammlung zu verwenden, z. B. ein Array oder eine Karte.) Insbesondere können Sie mit Collectors.toCollection problemlos nahezu jede Sammlung erstellen.
Set.java
List<String> EList = List.of("list","set","deque");
//In Set konvertieren
Set<String> ESet = EList.stream().collect(Collectors.toSet());
Hinweis: ** Collectors.toSet () und Collectors.toList () können nicht garantiert geändert werden oder sind unmöglich! **
(Beispiel: toList ist derzeit eine ArrayList, kann aber plötzlich zu einer unveränderlichen Liste werden.)
Map.java
List<Integer> EList = List.of(1,2,3);
//Konvertieren Sie ein Listenelement in einen Schlüssel und eine Zeichenfolge in eine Zuordnung, um einen Wert festzulegen
Map<Integer,String> EMap = EList.stream().collect(Collectors.toMap(Function.identity(), String::valueOf));
LinkedList.java
List<Integer> EList = List.of(1,2,3);
//Wenn Sie die Implementierungsklasse von List angeben möchten, verwenden Sie toCollection
LinkedList<Integer> EList = EList.stream().collect(Collectors.toCollection(LinkedList::new));
Recommended Posts