Допустим, у меня есть две коллекции под названием desiredCompanies как массив и companiesSource как Список компаний:Сортировка на основе другой коллекции в Java
List<String> desiredCompanies = Arrays.asList("AAA", "AAB", "AAC");
List<Company> companiesSource = new ArrayList<Company>();
Company item1= new Company();
item1.setCode("AAB");
item1.setPercent(200);
item1.setLocation("America");
companiesSource.add(item1);
Company item2= new Company();
item2.setCode("AAX");
item2.setPercent(900);
item2.setLocation("Africa");
companiesSource.add(item2);
Company item3= new Company();
item3.setCode("AAC");
item3.setPercent(900);
item3.setLocation("Singapore");
companiesSource.add(item3);
Company item4= new Company();
item4.setCode("AAA");
item4.setPercent(900);
item4.setLocation("Singapore");
companiesSource.add(item4);
Company item5= new Company();
item5.setCode("AAR");
item5.setPercent(900);
item5.setLocation("Japan");
companiesSource.add(item5);
Я хотел бы получить результирующий список с новым списком компаний или сортировать существующие компанииSource как в порядке желаемых компаний, которые должны содержать только этот элемент, в списке желаемых компаний.
Вы бы создать 'Comparator', сравнивающие Компании, основанные на' desiredCompanies.indexOf (company.getCode()) '. Полный ответ доступен здесь: [Компаратор основан на настраиваемом порядке] (http://stackoverflow.com/questions/5477511/comparator-based-on-a-configurable-orderl). – aioobe
'' wantedCompanies'' не содержит '' 'AAR' '' и '' "AAX" '', для правильной сортировки нам нужны детали ... –
Будет ли когда-нибудь повторяющийся код? Например, более чем одна компания «AAR»? – matt