마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

자바 배열 정렬 방법 질문 입니다

0 추천
배열을 정렬하려하는데
배열값이 만약   "ddd/88" ,"eed/99",dhdj/22
이렇게되있다면
이걸 "/"뒤에있는 숫자크기 순으로 정렬 할수 있나요?

정렬예시 : dhdj/22 ddd/88 eed/99


아니면 배열을 정렬할때 문자를 가나다 순으로 정렬한다할때
가장 처음에 있는 값은 제외하고 정렬을 할수 있나요?

예를들어 "나", "라", " 가"
이렇게 되있다 할때

나 가 라 이런식을 정렬할수있는건가요.?

배열 정렬 알고리즘 이용하지않고 array.sort 같은 것으로 할수 있는지를 물어보는 겁니다
gucjieed01 (300 포인트) 님이 2021년 4월 13일 질문

1개의 답변

0 추천
 
채택된 답변

Java의  Collection 과 Comparator 클래스를 이용할 수 있을 것 같습니다. Java8이라면 더 간단하고 좋은 방법이 있을 것 같습니다만, 제가 자바를 한동안 사용하지 않는 관계로 정확히는 모르겠네요.

그리고 String을 split한다던가, 배열의 인덱스에 접근한다던가, String을  Integr로 변환한다던가 하는 부분은 예외 처리를 꼭하셔야 합니다.

Collections.sort(collectionToCompare, MyComparator());

class MyComparator implements Comparator<String> {
    @Override
    public int compare(String s1, String s2) {
        s1Arr = s1.split("/");
        s2Arr = s2.split("/");
        num1 = Integer.valueOf(s1Arr[1]);
        num2 = Integer.valueOf(s2Arr[1])
        return num1.compareTo(num2);
    }
}
spark (226,420 포인트) 님이 2021년 4월 13일 답변
gucjieed01님이 2021년 4월 15일 채택됨
...