Mam listę map, jak poniżej. Chcę posortować mapy na liście w kolejności niestandardowej w języku Java 8.Niestandardowe rodzaje map w języku Java 8
Na przykład poniżej znajduje się lista map.
[{model=Ferrari},
{model=Tesla},
{model=Benz},
{model=Honda}]
Gdybym sortować powyższą listę map z użyciem poniższego kodu, jego sortowanie alfabetyczne.
l.sort(Comparator.comparing((Map<String,String> mp) -> mp.get("model")));
podaje dane wyjściowe poniżej.
[{Model = Benz}, {Model = Ferrari}, {Model = Honda}, {Model = Tesla}]
Ale muszę uporządkować tę mapę na podstawie kolejności (nie Porządek alfabetyczny): Honda, Tesla, Benz, Ferrari
Czy istnieje lepsze podejście, które możemy osiągnąć sortowanie niestandardowe w Java 8?
Jeśli chcesz zlecenia niestandardowe, musi być zdefiniowana gdzieś. Możesz na przykład dodać drugi wpis do każdej z map, "order = 1" lub coś podobnego. –
Jeśli umieścisz '[" Honda "," Tesla "," Benz "," Ferrari "]' na liście, możesz sortować według indeksu modelu na tej liście. – khelwood
@khelwood to dobry pomysł. Pozwól, że wypróbuję Twoją sugestię. –