java8 transfecté en utilisant une liste d'expression Lambda contenant des exemples expliquer carte-

Carte publique <String, String> findAllMap () {
    Liste <CourseType> courseTypeList = findAll ();
    si (ObjectUtils. isNotNull (courseTypeList))
        retour 
courseTypeList.stream () Collect (Collectionneurs.. toMap (CourseType :: getTypeKey, CourseType :: getTypeName));
}

explication:

Objectif: donner une carte <string, string>;

Le courseTypeList fluidisé (pour fonctionner derrière seulement après l'obtention de flux),

Appel à frais virés () pour raconter une carte <string, string>,

clé, valeur ont été utilisés CourseType classe getTypeKey () et la méthode getTypeName ()

Il est équivalent à:

Carte <String, String> carte = new HashMap <String, String> ();
pour (CourseType c: courseTypeList) {
    map.put (c.getTypeKey (), c.getTypeName ());
}

-------------------------------------------------- -------------------------------------------------- -------------

Carte <Long, Long> subjectIdMap = Stream. de (condition.split ( ""))
                .filter (StringUtils :: ISNUMBER )
                .map (Long :: valueOf )
                .Recueillir (Collectionneurs. toMap (Fonction. identité (), fonction. identité ()));

        Liste <Long> courseIdList = new LinkedList <> ();
        courses.forEach ((v) -> {
            if (subjectIdMap.containsKey (v.getSubjectId ())) {!
                courseIdList.add (v.getId ());
            }
        });

explication:

        Objectif: Obtenir une carte <Long, Long>

        La division par un état séparé par des virgules
        flux Stream.of conversion correspondant
        filtre qui acquiert un appareil photo numérique
        carte pour convertir type long
        Collect après la fusion en une carte numérique, clé et la valeur sont convertis!

-------------------------------------------------- -------------------------------------------------- ------------

Carte <BigDecimal, SysTeacher> teacherMap = teacherList.stream () Collect (Collectionneurs.. ToMap (e -> e.getId (), e -> e));

explication:

        Objectif: Obtenir une carte <BigDecimal, SysTeacher>

Le teacherList fluidisé (pour fonctionner derrière seulement après l'obtention de flux),

Appel à frais virés () pour raconter une carte <BigDecimal, SysTeacher>,

clé, valeur ont été utilisés classe SysTeacher getId () et les entités SysTeacher.

-------------------------------------------------- -------------------------------------------------- ---------------

Liste <Boutique> Shoplist = shopBiz.getShopList (shopData, userId);

Carte <String, Liste <Shop >> shopListMap = shopList.stream () Collect (collecteurs.. GroupingBy (e> e.getShopType ()));

explication:

        Objectif: Obtenir une carte <String, Liste <Shop >>

Pour les groupes getShopType, la clé est getShopType, la valeur est une liste <Shop >>

-------------------------------------------------- -------------------------------------------------- ------------------------------

packageCourseMap.forEach ((k, v) -> {

Carte <Boolean, Liste <PackageCourse >> packageCourseListMap = . V.stream () Collect (. Collectionneurs groupingBy (e -> StringUtils. IsNotEmpty (e.getCourseTypeKey ())));

}

explication:

Au-dessus, mais il a ajouté une condition de filtre

-------------------------------------------------- -------------------------------------------------- ------------------------------

Type de retour: Carte <BigDecimal, SysTeacher>

Liste <SysTeacher> sysTeacherList;

retour sysTeacherList.stream () Collect (Collectors.. toMap (BaseEntity :: getId, e> e));

explication:

       La liste <SysTeacher> Passer à la carte <BigDecimal, SysTeacher>, SysTeacher.getId () comme la clé.                                                                    

-------------------------------------------------- -------------------------------------------------- ------------------------------

Carte <BigDecimal, String> = groupe . OrderDetails.stream () .Recueillir (Collectionneurs groupingBy . (OrderDetails :: getShopId, Collectors mapping ((v) -> v.getUserId () toString (),.
        Collectionneurs. CollectingAndThen (Collectionneurs. toList (), (v) -> v.stream () distinct () Collect (.. rejoindre ( ""))))));

explication:

clé est ShopId, String est l'ID utilisateur après Déduplication, épissées par des virgules

-------------------------------------------------- -------------------------------------------------- ------------------------------

Carte <String, Integer> = statisticsMap Stream. de (classesIds.split ( "")) Prélever (collecteurs.. toMap (Fonction. identité (), (v) -> 1));

explication:

Stream.of (classesIds.split ( « »)) ids est coupée par une virgule, puis retourne un flux.

Collect est recueillie.

Collectors.toMap (Function.identity (), (v) -> 1)), le flux ci-dessus est convertie en une carte.

Function.identity () Key est converti en la carte, la carte 1 est transformée en valeur.

Cela signifie que la fonction qui renvoie toujours un paramètre d'entrée de retour.

En fait, la valeur de chacun des virgules ci-dessus après l'interception.

Si classesIds est 11,22,33
carte retournée sont:
11, 1
22, 1
33,1

Publié 114 articles originaux · a gagné les éloges 52 · vues 20000 +

Je suppose que tu aimes

Origine blog.csdn.net/Smile_Sunny521/article/details/89845647
conseillé
Classement