[Java] 숫자형 문자열 배열 앞자리 기준 정렬 방법

2023-02-04


사진: Unsplash 의 Wolfgang Hasselmann


1. 방법

 

Arrays.sort 내부 메소드 compare를 확용하면, 숫자형 문자열 배열을 앞자리 기준으로 정렬할 수 있다. 

 

import java.util.Arrays;
import java.util.Comparator;

public class Test_01 {

    @Test
    public void test(){
        String[] arr = {"1","1","1","1","1","3","0","5","5","1231","432423","931"};
        orderAsc(arr);
        for (String str: arr
        ) {
            System.out.print(str + " / ");
        }
        System.out.println();
        orderDesc(arr);
        for (String str: arr
             ) {
            System.out.print(str + " / ");
        }
    }
    public String [] orderAsc(String[] arr) {
        Arrays.sort(arr, new Comparator<String>() {
            @Override
            public int compare(String a, String b) {
                return (a+b).compareTo(b+a);
            }
        });
        return arr;
    }
    public String [] orderDesc(String[] arr) {
        Arrays.sort(arr, new Comparator<String>() {
            @Override
            public int compare(String a, String b) {
                return (b+a).compareTo(a+b);
            }
        });
        return arr;
    }
}

메인 이미지 출처 : 사진: UnsplashWolfgang Hasselmann