J'ai deux ArrayLists comme ci-dessous; Comme le nom l'indique sortedDtos
est déjà trié.Ordre d'une liste d'objets dans le même ordre qu'une autre liste d'objets avec des objets ayant un attribut commun
`myclass` has a field called `jobNo`
The HashMap has a key called `jobNo`
Fondamentalement, je veux commander mapList
basé sur sortedDtos
en comparant l'attribut jobNo
.
Comment puis-je faire cela dans Java 8?
Cela semble fonctionner correctement, peut également être probablement rendu plus efficace.
List<String> jobNos = new ArrayList();
sortedDtos.stream().forEach(dto -> jobNos.add(dto.getJobNo()));
// sort maplist based on the sorting of the dtos
mapList.sort(Comparator.comparing(el -> jobNos.indexOf(el.get("jobNo"))));
Veuillez fournir quelques exemples d'entrée et de sortie attendue. Il est difficile de comprendre ce que vous essayez de faire ici. –
* Cela semble fonctionner correctement, peut également être rendu plus efficace * ... https: //codereview.stackexchange.com/? – nullpointer
Je vote pour fermer cette question hors-sujet parce que cette question appartient à un autre site du réseau Stack Exchange - https://codereview.stackexchange.com/ – nullpointer