[JAVA] Flux appris (je veux convertir la liste en carte <Integer, List>)

Convertir les données au format Liste au format Carte <yyy, Liste >

J'avais l'habitude de l'utiliser pour honnêtement jusqu'à présent, alors prenez note.

Données de format de liste obtenues à partir de DB Après filtrage, je l'ai utilisé lorsque je voulais le convertir au format Map (c'était plus facile à afficher avec jsp).

List<myClass> resList = myClassDao.query(insMap);

//filtration
List<myClass> dataList = resList.stream()
        .filter(c -> c.getHogeId() != null)
        .collect(Collectors.toList());

//Convertir en carte
Map<Integer, List<myClass>> res = dataList.stream().collect(
        Collectors.groupingBy(myClass::getHogeId)
);

Avec ça, des données comme ça

[
    {
        id:1,
        hogeId:1,
        data:"a"
    },
    {
        id:2,
        hogeId:1,
        data:"b"
    },
    {
        id:3,
        hogeId:2,
        data:"c"
    },
    {
        id:4,
        hogeId:null,
        data:"d"
    }
]

Ce sera comme ça. Peut-être.

{
    1:[
        {
            id:1,
            hogeId:1,
            data:"a"
        },
        {
            id:2,
            hogeId:1,
            data:"b"
        }
    ],
    2:[
        {
            id:3,
            hogeId:2,
            data:"c"
        }
    ]
}

S'il vous plaît laissez-moi savoir s'il existe une meilleure façon!

Recommended Posts

Flux appris (je veux convertir la liste en carte <Integer, List>)
Je veux convertir des caractères ...
[Java] Convertir 1 en N liste en carte
Exemple de code pour convertir List en List <String> dans Java Stream
[Java] Je souhaite convertir un tableau d'octets en un nombre hexadécimal
Je veux faire une liste avec kotlin et java!
Je souhaite rechercher de manière récursive la liste des classes sous le package
Pour les débutants Java: List, Map, Iterator / Array ... Comment convertir?
Convertir la carte <K, V1> en carte <K, V2> (Convertir la valeur de la carte)
[Petite histoire] Convertir Stream en Iterable
Conversion de liste Java8 avec Stream map
Liste de réglages de Glassfish que je souhaite conserver pour le moment
Je souhaite effectuer un traitement Group By avec Stream (group-by-count, group-by-sum, group-by-max)
Je souhaite développer une application web!
Je souhaite éliminer les messages d'erreur en double
Je souhaite utiliser DBViewer avec Eclipse 2018-12! !!
Je veux écrire un test unitaire!
Je souhaite installer PHP 7.2 sur Ubuntu 20.04.
J'ai essayé de résumer l'API Stream
Je veux arrêter complètement les mises à jour Java
Je veux utiliser @Autowired dans Servlet
Je souhaite cibler les champs statiques sur @Autowired
Je veux faire du développement d'équipe à distance
Exécuter R à partir de Java Je veux exécuter rJava
[Swift] Je veux dessiner des lignes de quadrillage (carrés)
Je souhaite envoyer un e-mail en Java.
Je souhaite terminer correctement l'installation de npm [2020]
[Ruby] Je veux faire un saut de méthode!
Je veux utiliser java8 forEach avec index
Je veux var_dump le contenu de l'intention
Je souhaite transmettre APP_HOME pour me connecter à Gradle
Je veux écrire une simple répétition d'une chaîne de caractères
Je souhaite concevoir une structure pour la gestion des exceptions
rsync4j --Je veux toucher rsync en Java.
Convertir Json en List <T> tel quel
Je veux jouer avec Firestore de Rails
Je veux être finalement même à kotlin
Je veux écrire rapidement de java vers sqlite
Je veux tronquer après la virgule décimale
Je veux réduire les erreurs simples. Pour vous commander.
Je souhaite effectuer un traitement d'agrégation avec spring-batch
[Rails] Je veux charger du CSS avec webpacker
Je souhaite supprimer un fichier géré par Git
Je veux obtenir la valeur en Ruby
[MyBatis] Je souhaite mapper une requête de requête à une table qui a une relation un-à-plusieurs avec un bean imbriqué.