У меня есть список связанных хэш-карт, и мне нужно отсортировать список в соответствии со свойством connectedhashmap.
Вот моя связанная хеш-карта;
{
"unit": "HOUR",
"code": "S-4000",
"value": "12"
},
{
"unit": "HOUR",
"code": "S-1001",
"value": "6"
},
Я хочу отсортировать этот список по свойству «код».




Есть несколько способов делать что-то на Java, и лучший из них - тот, который вам больше всего подходит. Поэтому вам следует сначала попробовать себя, а затем спросить здесь, если вы застряли. Однако есть один способ сделать это - но не обязательно лучший для вас.
Чтобы отсортировать список, используйте метод List.sort(), который принимает в качестве аргумента Comparator. Интерфейс Comparator включает несколько служебных методов, упрощающих создание объекта компаратора:
yourList.sort(Comparator.comparing(map -> map.get("code")));
Я уже пробовал это, но выдает ошибку. Вот почему я прошу помощи. Это бросает несовместимые типы: предполагаемый тип не соответствует верхней границе
@dani, пожалуйста, обновите свой вопрос, указав эту соответствующую деталь, и постарайтесь описать, что вы на самом деле пробовали и с какими проблемами вы столкнулись.
@dani, я пробовал фрагмент кода в ответе, у меня отлично сработало: [{unit=HOUR, value=6, code=S-1001}, {unit=HOUR, value=12, code=S-4000}]
@AlexRudenko Держу пари, OP использует карту сырой. Comparator.comparing требует Comparable, поэтому он отклоняет тип Object, замеченный в методе сыройget().
Это не «связанная хеш-карта». Это фрагмент текста в формате JSON.