Cybertronian :
그것은 정렬 할 수 있는가 List
의 객체 인터페이스를 ArrayList()
?
List</*classname*/> list = new ArrayList<>();
내가 사용하고 application.properties
List 인터페이스의 값을 설정하는 봄 부팅의
ModuleNames.java
public class ModuleNames {
private String moduleId;
private String moduleName;
//getters & setters.
}
제어 장치
@RequestMapping(value = "/getModuleNames", method = { RequestMethod.GET })
public @ResponseBody List<String> getModuleNames() {
List<ModuleNames> moduleNamesList = new ArrayList<>();
moduleNamesList.add(new ModuleNames("Country", env.getProperty("bulkUpload.location.country")));
moduleNamesList.add(new ModuleNames("State", env.getProperty("bulkUpload.location.state")));
moduleNamesList.add(new ModuleNames("City", env.getProperty("bulkUpload.location.city")));
moduleNamesList.add(new ModuleNames("Area Pincode", env.getProperty("bulkUpload.location.areaPincode")));
return moduleNamesList;
아무도 목록을 정렬하는 방법을 알고 않습니다.
난 노력 했어
moduleNamesList.sort(Comparator.naturalOrder());
Collections.sort(moduleNamesList);
하지만 모두 작동하지 않습니다. 여기 제발 도와주세요
Nitika :
넌 인스턴스 메소드 참조 Comparator.comparing 및 방법을 사용하여 비교 로직을 정의 피할 수 - 추출과 그 기능에 기초하여 필적을 생성한다.
우리는 람다 식을 구축하기 위해 게터를 사용하는 것입니다.
MODULENAME하여 목록을 정렬 :
moduleNamesList.sort(Comparator.comparing(ModuleNames::getModuleName));
역순으로 MODULENAME하여 목록을 정렬 :
moduleNamesList.sort(Comparator.comparing(ModuleNames::getModuleName).reversed());
첫째 MODULENAME 다음의 moduleID하여 목록을 정렬 :
moduleNamesList.sort(Comparator.comparing(ModuleNames::getModuleName).thenComparing(ModuleNames::getModuleId));
: 당신은 또한 사용자 정의 비교 사용할 수있는 사용이 참조