JAVA- ArrayList 쉽게 정렬하기!! (오름차순,내림차순)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
import java.util.Collections;
import java.util.Comparator;
import java.util.Collections; import java.util.Comparator;
import java.util.Collections; 
import java.util.Comparator;

먼저 위의 라이브러리를 추가하자

Collections – 정렬에 필요한 메소드가 담긴 클래스

Comperator- 비교에 필요한 추상 메소드가 담긴 인터페이스

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
class AscendingDouble implements Comparator<Double> {
@Override
public int compare(Double a, Double b) {
return b.compareTo(a); //같으면 0, b가 더 크면 양수, b가 더 작으면 음수 반환
}
}
class AscendingDouble implements Comparator<Double> { @Override public int compare(Double a, Double b) { return b.compareTo(a); //같으면 0, b가 더 크면 양수, b가 더 작으면 음수 반환 } }
class AscendingDouble implements Comparator<Double> {
	@Override
	public int compare(Double a, Double b) {
		return b.compareTo(a); //같으면 0, b가 더 크면 양수, b가 더 작으면 음수 반환 
		}
}

다음은 위 AscendingDouble 클래스를 추가하자.

이는 실수 2개를 비교하는 메소드가 담긴 클래스Collections클래스를 이용해서 내림차순할 때 객체로 넘겨줘야 된다!!

Comparator인터페이스를 구현한 것으로 정수형을 정렬하고 싶으면 Double을 Integer로 바꿔주면 된다.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Collections.sort(values,new AscendingDouble()); // values 내림차순으로 정렬
Collections.sort(values,new AscendingDouble()); // values 내림차순으로 정렬
Collections.sort(values,new AscendingDouble()); // values 내림차순으로 정렬

위와 같이 두 번째 인수에 객체를 넘겨줘야 내림차순 정렬이 된다! 첫 번째 인수는 ArrayList의 참조변수가 위치한다.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Collections.sort(values); // values 오름차순으로 정렬
Collections.sort(values); // values 오름차순으로 정렬
Collections.sort(values); // values 오름차순으로 정렬

두 번째 인수를 생략하면 오름차순이 된다.

Leave a Reply

Your email address will not be published. Required fields are marked *