본문 바로가기
IT, 개발/JAVA

JAVA - 리스트 순서 뒤집기, 오름차순, 내림차순(ArrayList 순서 정렬, 변경)

by 개발자스터디 2022. 7. 14.
반응형

 

 

내부 데이터를 모으고 정렬하여 사용하는 방식은 다양한 곳에서 사용되기 마련입니다.

자바 개발을 하면서 리스트를 정말 많이 사용하는데, 이번에는 리스트 내부 데이터 순서를 변경하는 몇 가지 방법들을 알아보도록 하겠습니다.

 

 

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
반응형