반응형
내부 데이터를 모으고 정렬하여 사용하는 방식은 다양한 곳에서 사용되기 마련입니다.
자바 개발을 하면서 리스트를 정말 많이 사용하는데, 이번에는 리스트 내부 데이터 순서를 변경하는 몇 가지 방법들을 알아보도록 하겠습니다.
1. 오름차순, 내림차순
문자열, 숫자 리스트의 데이터를 오름차순이나 내림차순으로 정렬할 수 있습니다.
Comparator.naturalOrder(), Comparator.reverseOrder()를 사용합니다.
예제와 실행 결과를 통해 확인해보겠습니다.
적용되는 기능을 좀 더 편하게 보기 위해 숫자로 리스트를 구성하였습니다.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
public class ListTest{
public static void main(String[] args) {
List<Integer> integerList = new ArrayList<Integer>();
integerList.add(10);
integerList.add(4);
integerList.add(8);
integerList.add(1);
integerList.add(3);
System.out.println("기존 List : " + integerList);
integerList.sort(Comparator.naturalOrder());
System.out.println("오름차순 List : " + integerList);
integerList.sort(Comparator.reverseOrder());
System.out.println("내림차순 List : " + integerList);
}
}
실행 결과
기존 List : [10, 4, 8, 1, 3]
오름차순 List : [1, 3, 4, 8, 10]
내림차순 List : [10, 8, 4, 3, 1]
2. 순서 뒤집기
Collections.reverse()를 사용하여 리스트 전체 내용 순서를 반대로 바꿉니다.
이것 또한 예제와 실행 결과를 통해 확인해보겠습니다.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
public class ListTest{
public static void main(String[] args) {
List<String> testList = new ArrayList<String>();
testList.add("A");
testList.add("B");
testList.add("C");
testList.add("D");
testList.add("E");
System.out.println("기존 List : " + testList);
Collections.reverse(testList);
System.out.println("변경 List : " + testList);
}
}
예제에서는 보기 편하게 하려고 문자열로 리스트를 구성했지만 문자열뿐만 아니라 다른 데이터 타입도 가능합니다.
정렬이라기보다는 순서를 바꾸는 개념이다 보니 가능한 범위가 더 넓다고 볼 수 있습니다.
실행 결과
기존 List : [A, B, C, D, E]
변경 List : [E, D, C, B, A]
728x90
반응형
'IT, 개발 > JAVA' 카테고리의 다른 글
JAVA 시간 차이 계산하기 (Date getTime / SimpleDateFormat) (0) | 2022.07.19 |
---|---|
Mac OS에서 이클립스 메소드 추적하기(함수 따라가기, 함수 호출되는 곳, 추적/역추적) (0) | 2022.07.18 |
JAVA - 함수 안에 자기 함수 호출 (재귀 함수 Recursive method) (0) | 2022.07.04 |
JAVA SimpleDateFormat 날짜 포맷 (Date to String) (0) | 2022.06.14 |
JAVA Map 삭제하기 (remove(), clear()로 해당 key값 삭제 or 전체 삭제) (0) | 2022.06.07 |