응용 프로그램 속성 값을 정렬하는 방법

Cybertronian :

그것은 정렬 할 수 있는가 List의 객체 인터페이스를 ArrayList()?

List</*classname*/> list = new ArrayList<>();

내가 사용하고 application.propertiesList 인터페이스의 값을 설정하는 봄 부팅의

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;

아무도 목록을 정렬하는 방법을 알고 않습니다.

난 노력 했어

  1. moduleNamesList.sort(Comparator.naturalOrder());

  2. 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));

: 당신은 또한 사용자 정의 비교 사용할 수있는 사용이 참조

추천

출처http://43.154.161.224:23101/article/api/json?id=315060&siteId=1