В настоящее время у меня есть упорядоченный список String ids (List<String>
) и неупорядоченный список пользовательского класса (List<CustomClass>
). Я хотел бы заказать список пользовательских объектов класса на основе упорядоченного списка IDS.Сортировка списка на основе другого списка
У меня создалось впечатление, что лучший способ сделать это - использовать TreeMap. Поэтому я осуществил это:
Map<String, CustomClass> mapB = new HashMap<String, CustomClass>();
for (String id : mIds) {
for (CustomClass customClass : mCustomClass) {
mapB.put(thingId, mCustomClass);
}
}
Map<String, CustomClass> treeMap = new TreeMap<String, CustomClass>();
treeMap.putAll(mapB);
Хотя, он сохраняет все идентификаторы хорошо, но когда я распечатайте TreeMap, кажется, как будто он только принимает последнее значение mapB и магазинов, что. То есть пример журналов:
Карта: 1: Париж, Карта: 2: Париж, карта: 3: Париж
Но я прибавлял:
mapB.put("1", London);
mapB.put("2", Berlin);
mapB.put("3", Paris);
Так что да, Я немного смущен тому, что происходит, может ли кто-нибудь дать какие-то рекомендации? Благодаря!
Являются ли строки в списке в любом случае в CustomClass? –
SMA
Доступ к идентификатору осуществляется из модели этого класса, но он не сохраняется как локальная переменная или что-то еще. –
Просьба указать связь между списком и списком , а также с реализацией CustomeClass. И если любое поле в CustomClass соответствует любому из элементов, присутствующих в списке –
SMA