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