Whiteship's Note

'Collections.sort()'에 해당되는 글 1건

  1. 2006.11.02 Arrays.sort() & Collections.sort() (3)

Arrays.sort() & Collections.sort()

Java : 2006. 11. 2. 12:31


sorting을 할 때는 배열을 정렬할 것인지 collection을 정렬할 것인지에 따라 사용하는 클래스가 달라집니다. 메소드 이름은 sorting으로 같지요.

먼저 배열을 정렬할 때는 Arrays.sort(numbers); 같은 식으로 하면 됩니다.

여기 있는 메소드들이 Arrays 클래스에 있는 sort라는 이름을 가진 메소드 목록입니다. 배열은 객체가 아니더군요. 그래서 Arrays 클래스가 배열이 객체라면 해줄 행동들을 대신 해줍니다.

그리고 List 타입을 정렬하고자 할 때는 Collections.sort(List 타입의 변수); 같은 식으로 사용하면 됩니다.


List 타입이라고 하면 ArrayList, LinkedList, Vector들 중 하나라고 할 수 있겠습니다. 이 들 간의 상속 구조는 다음과 같습니다.


겉으로 보기에는 둘이 차이가 나고 있지만 사실 소스코드를 보면 Collections.sort() 메소드는Arrays.sort()를 사용하고 있습니다.

Collections.sort() 메소드 소스코드 보기

따라서 결국 Collection들이 배열을 기반으로 구현되었으며 그래서 정렬을 할 때도 내부적으로 배열을 사용하여 정렬하고 있는 것이라고 생각할 수 있겠습니다.

'Java' 카테고리의 다른 글

탬플릿 클레스 만들기  (3) 2006.11.05
local inner class의 예  (0) 2006.11.05
객체지향의 구멍 static  (0) 2006.11.04
i++와 i=i+1 속도 비교  (0) 2006.11.02
Comparator를 사용하여 비교하기.  (0) 2006.11.02
Arrays.sort() & Collections.sort()  (3) 2006.11.02
What is Object?  (12) 2006.11.01
Agile Java 2장 연습문제 풀기  (2) 2006.10.29
Lazy Initialization 언제 사용 해야 될까요?  (9) 2006.10.28
Agile Java 1장 연습문제 풀기  (2) 2006.10.27
JUnit 3.8 과 JUnit 4의 차이  (0) 2006.10.27
top

  1. Favicon of https://whiteship.tistory.com BlogIcon 기선 2006.11.05 00:02 신고 PERM. MOD/DEL REPLY

    본문에 나오는 "배열은 객체가 아니더군요." 이 말은 아마 Agile Java의 어떤 부분을 보고 나서 충격을 먹고 (그 전까지 배열을 객체로 알고 있었거든요.) 써 넣은 부분인데..

    오늘 다시 어떤 글을 읽다보니 배열은 객체라는 말을 보게 되었습니다. Java Tutorial좀 보고 오겠습니다.

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2006.11.05 00:06 신고 PERM MOD/DEL

    An array is a container object that holds a fixed number of values of a single type.

    http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.html

    여기 첫 문장에 나오는 군요. 다행입니다. 기존에 알고 있던데로 배열은 객체가 맞는 듯 합니다.

  2. 개발자진입중 2019.12.03 16:45 PERM. MOD/DEL REPLY

    둘의 관계가 궁금했는데 감사합니다!

Write a comment.