Notice
Recent Posts
Recent Comments
Link
- Today
- Total
Archives
Tags
- 빌드 에러
- 스프링 #의존성 주입 #DI
- JAVA #백준
- 콜라츠 추측 #자바 #JAVA #프로그래머스
- JAVA #자바 #프로그래머스 #나머지가 1이되는 수
- 백준 #JAVA #자바
- Java
- 문자열 다루기 기본 #자바 #JAVA
- servlet
- 자바 #JAVA #프로그래머스 #정수 내림차순으로 배치하기
- 백준 #자바
- Could not resolve all files for configuration
- JAVA #코드업 #기초 100제
- 최대값과 최솟값 #자바 #JAVA
- 자바 #프로그래머스 #JAVA #최솟값 만들기 #코딩테스트
- JAVA #자바 #프로그래머스 #서울에서 김서방 찾기
- 데이터베이스 #DB #데이터 #정의 #기본
- 나누어 떨어지는 숫자 배열 #자바 #JAVA #프로그래머스
- 프로그래머스
- SW공학
- 자바 #프로그래머스 #JAVA #다음 큰 숫자
- IntelliJ #인텔리제이 #교육용
- JAVA #핸드폰 번호 가리기 #프로그래머스 #자바
- 게임 맵 최단거리 #자바 #JAVA #프로그래머스
- JAVA #자바 #프로그래머스 #두 정수 사이의 합
- JAVA #프로그래머스 #약수의 개수와 덧셈
- 최대값과 최솟값
- JAVA #자바 #프로그래머스 #숫자의 표현
- JAVA #프로그래머스
- JAVA #프로그래머스 #문자열 내림차순으로 배치하기
MOMONOTE
Collections.sort 본문
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Animal {
String name;
int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public static void main (String[] args) {
ArrayList<Animal> list = new ArrayList<Animal>();
list.add(new Animal("cat", 3));
list.add(new Animal("dog", 6));
list.add(new Animal("horse", 2));
list.add(new Animal("snake", 10));
Collections.sort(list, new Comparator<Animal>() {
@Override
public int compare(Animal a1, Animal a2) {
if (a1.getAge() < a2.getAge()) {
return -1;
} else if (a1.getAge() > a2.getAge()) {
return 1;
}
return 0;
}
});
for (Animal a : list) {
System.out.println(a.getAge());
}
}
}
// 결과
// 2
// 3
// 6
// 10
Collections.sort(list, new Comparator<Animal>() {
@Override
public int compare(Animal a1, Animal a2) {
if (a1.getAge() < a2.getAge()) {
return -1;
} else if (a1.getAge() > a2.getAge()) {
return 1;
}
return 0;
}
});
이 코드에서 a1과 a2의 age를 비교한다.
a2의 age가 더 크다? 음수인 -1 리턴한다. 그리고 자리이동은 없다.
a1의 age가 더크다? 양수인 1을 리턴한다. 그러면 a1이 뒤로 간다.
결과적으로 오름차순으로 정렬됨.
음수 또는 0이면 객체의 자리가 그대로 유지되며, 양수인 경우에는 두 객체의 자리가 변경된다.
더 자세한건 이곳을 참고하자.
https://gmlwjd9405.github.io/2018/09/06/java-comparable-and-comparator.html
'알고리즘, 코딩테스트 > 자주나오는, 메서드 정리, 자료구조 등' 카테고리의 다른 글
BigInteger (0) | 2021.04.15 |
---|---|
스택, 큐 , 우선순위큐 (0) | 2021.04.08 |
Compareble 인터페이스 , compareTo() (0) | 2021.03.30 |
(JAVA) 이중 배열 (0) | 2021.03.29 |
배열의 정렬 (Arrays.sort , Comparator, compareTo , compare) (0) | 2021.02.23 |
Comments