mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Saturday, December 30, 2006

Java/자바] 문자열 배열 내림차순(역순) 정렬(소팅/소트); Sort Descending Order, String Array


자바로 소팅을 할 때에는 역순 즉 내림차순(Descending Order)으로 소팅하는 간단한 방법이, 제가 알아본 바로는 없었습니다.

물론, 오름차순으로 소팅한 후, 그 배열의 순서를 뒤집어주면 역순 정렬이 됩니다. 이 방법의 속도가 느린 줄 알았는데, 비교 함수를 사용하는 것보다 빠르다고 하더군요. 각 요소를 소트할 때마다 비교 함수를 호출하는 데에 시간이 많이 걸리지만, 배열 요소 순서를 단순히 뒤집어 주는 것에는 시간이 거의 걸리지 않기 때문일 것입니다.

그래서 뒤집어 주는 방법으로 예제를 만들었습니다.

문자 배열 내림차순 정렬(Sorting) 예제


파일명: Foo.java
import java.util.*;

public class Foo {
  public static void main(String[] args) {


    String[] a = { "bbb", "AAA", "DDD", "똠방각하", "CCC", "aaa" };

    Arrays.sort(a, String.CASE_INSENSITIVE_ORDER);


//////////////////////////////////////////////////
    // 배열을 리스트로 변환
    List<String> list = Arrays.asList(a);

    // 리스트 뒤집어 주기
    Collections.reverse(list);
//////////////////////////////////////////////////


    // 리스트를 배열로 다시 변환
    a = list.toArray(new String[list.size()]);


    // 순서 뒤집어진 배열을 문자열로 변환 후 출력
    String s = Arrays.toString(a);
    System.out.println(s);
    // 출력 결과: [똠방각하, DDD, CCC, bbb, aaa, AAA]

  }
}




리스트로 변환하지 않고 직접 뒤집기: ▶▶ Java/자바] 문자열(String) 배열 내림차순(역순) 정렬(소팅/소트); Sort Descending Order, String Array

▶▶ 자바/Java] 문자열 숫자 배열, 정렬(소팅;소트) 예제; Sort




tag: java
자바 | Java

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top