Je suis impatient de convertir une liste à une carteDe Liste d'un objet aux objets du groupe avec sa clé et des valeurs basées sur Java 8 ou goyave
List<Element>
à une carte de Map<String,List<Element>
élément classe contient clés et des valeurs
public class Element {
public Element(final key, final value) {
this((Object) key, (Object) value, 1L);
}
public final Object getObjectKey() {
return key;
}
public final Object getObjectValue() {
return value;
}
}
La façon dont j'ajouter des éléments est comme
empRepository.save(new Element(empKey, empTransaction));
Le empKey est un objet de classe EmpKey
public class EmpKey{
private String employeeId;
private String tenantId;
//Getters & Setters
}
Dans une autre classe la méthode groupElementsByEmployeeId essayant de convertir les paramètres des éléments de la collection à une carte
public void groupElementsByEmployeeId(Collection<Element> elements){
List<Element> to a map of Map<String,List<Element>
where Map key String is tenantId which is in EmpKey
}
Pour regrouper tous les éléments à base sur TenantID Ce qui est une propriété de EmpKey
EmpKey est la clé pour l'élément
//List<Element> to a map of Map<String,List<Element>
// where Map key String is tenantId which is in EmpKey
Quelque chose que je commencé, mais ne savent pas comment obtenir la sortie je cherche
elements.stream().collect(Collectors.groupingBy(Element::getObjectKey))
I have to cast groupingBy(Element::(EmpKey)getObjectKey.getTenantId))
Comme vous pensez déjà à l'utilisation de Goya, remplacez «Carte» par l'un des Gava ['ListMultimap '] (https://google.github.io/guava/releases/17.0/api/docs/ com/google/common/collect/ListMultimap.html) implémentations. –
Robert
J'ai fini de lire votre "question" - mais il me manque ce que vous demandez. Veuillez le modifier et ajouter quel est votre problème. – Robert
Comment puis-je faire le regroupement parce que la clé pour la carte est l'attributenantId qui est un attribut pour EmpKey. EmpKey est la clé pour Element –