다음 작업 목록이 있으며 각 요소는 이익과 난이도를 포함하는 목록입니다.
List<List<Integer>> jobs = new ArrayList<>();
for (int i = 0; i < difficulty.length; i++) {
List<Integer> job = new ArrayList<Integer>();
job.add(profit[i]);
job.add(difficulty[i]);
jobs.add(job);
}
이제 다음과 같이 수익 (각 작업의 첫 번째 요소)을 기준으로 작업을 정렬하고 싶습니다.
jobs.sort((j1, j2) -> j1.get(0) > j2.get(0));
하지만 다음과 같은 오류가 발생했습니다.
error: incompatible types: bad return type in lambda expression
내가 뭘 잘못했고 어떻게 고치나요? 감사!
귀하의 비교기는 그것이를 반환으로 잘못된 boolean
기대 수익 유형이 반면 int
.
간단한 해결책은 다음과 같습니다.
jobs.sort(Comparator.comparing(e -> e.get(0)));
또는:
jobs.sort((j1, j2) -> Integer.compare(j1.get(0), j2.get(0)));
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다