Lors de la programmation en Java, à la fois avec et sans formation Je pense que List, Map, etc. apparaissent souvent (parfois Set, Iterator, etc.).
Cependant, ce qui est converti après une longue période Parce que ça devrait être "ça? Comment convertissez-vous cela?"
Méthodes statiques pour celles qui ont des noms de classe, méthodes d'instance pour celles qui n'ont que des noms de méthode
| \ Destination de conversion Source de conversion |Liste, ensemble, etc.(Collection)  | 
Map | Iterator | Stream | Tableau | 
|---|---|---|---|---|
| List/Set etc. (Collection)  | 
constructeur | - | iterator() | stream() | 
| Map | entrySet(), keySet(), values() | constructeur | (Via Set) | (Via Set) | 
| Stream | Collect() | Collect() | iterator() | Fonctionnement intermédiaire en général | 
| Tableau | (Liste uniquement) Arrays.asList()※  | 
- | (Via liste) | Steam.of() | 
Les classes de collection intégrées de Java (ArrayList, HashSet, ArrayDeque, etc.) Certains constructeurs mettent une Collection. Map n'est pas une collection, mais Map → Map peut faire de même.
Collection.java
 //Préparez l'ensemble à l'avance
 Set<String> ESet = Set.of("list","set","deque");
 //Définir sur liste!
 List<String> EList = new ArrayList(Eset);
Si vous ne voulez que la liste de clés, utilisez keySet. Si vous ne voulez que le contenu, utilisez values (). entrySet () si vous souhaitez utiliser les deux dans l'instruction for
Map.java
 //Préparez la carte à l'avance
 Map<String,Collection<String>> EMap = new HashMap<>();
 EMap.put("list",List.of("list"));
 EMap.put("set",Set.of("set"));
 //Carte à définir!
 Set<String> ESet = EMap.keySet();
 //Réglez sur Iterator!
 ESet.iterator();
 //Carte → Itérateur est également possible en connectant
 EMap.keySet().iterator();
List.java
 List<String> EList = List.of("list","set","deque");
 String[] EArray = EList.toArray(new String[0]);
Depuis Stream, vous pouvez en faire une Collection en utilisant collect (). (Il est également possible d'utiliser autre chose que Collection, comme un tableau ou une carte) En particulier, vous pouvez facilement créer presque n'importe quelle collection en utilisant Collectors.toCollection.
Set.java
 List<String> EList = List.of("list","set","deque");
 //Convertir en ensemble
 Set<String> ESet = EList.stream().collect(Collectors.toSet());
Remarque: ** Collectors.toSet () et Collectors.toList () ne sont pas garantis modifiables ou impossibles! ** 
 (Exemple: toList est actuellement une ArrayList, mais elle peut soudainement devenir une liste immuable)
Map.java
 List<Integer> EList = List.of(1,2,3);
 //Convertir un élément de liste en clé et une chaîne en Map pour le définir sur valeur
 Map<Integer,String> EMap = EList.stream().collect(Collectors.toMap(Function.identity(), String::valueOf));
LinkedList.java
 List<Integer> EList = List.of(1,2,3);
 //Si vous souhaitez spécifier la classe d'implémentation de List, utilisez toCollection
 LinkedList<Integer> EList = EList.stream().collect(Collectors.toCollection(LinkedList::new));
        Recommended Posts