세로형
Recent Posts
Recent Comments
Link
04-20 00:01
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

자바 배열 정렬(Arrays.sort() 이용) 본문

java

자바 배열 정렬(Arrays.sort() 이용)

이수진의 블로그 2017. 8. 18. 08:37

배열을 정렬하는 방법은 프로그래머가 직접 정렬 메소드를 만들어 사용할 수도 있지만 기본적으로 자바에서 제공해주는 정렬 기능도 있다.

Arrays.sort()를 이용하면 된다. Arrays 클래스에 있는 sort()메소드이다.
다음 예제를 보자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class SortEx {
 
    public static void main(String[] args) {
        int[] scores = {999598};
        Arrays.sort(scores);
        for(int i = 0  ; i < scores.length ; i++)
        {
            System.out.print(scores[i]+"\t");
        }
        System.out.println();
        
        String[] names = {"홍길동""이순신""권율"};
        Arrays.sort(names);
        
        for(int i = 0 ; i < names.length ; i++)
        {
            System.out.println(names[i]+"\t");
        }
 
    }
 
}
Colored by Color Scripter

 

 

\

위 사진 처럼 정렬되어 나오는 것을 볼 수 있다.

만약 객체 맴버 배열을 정렬하고 싶으면? 
아래와 같이 적용을 할 수 있다. compareTo() 메소드를 오버라이딩 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class Member implements Comparable<Member>
{
    String name;
    Member(String name)
    {
        this.name = name;
    }
    
    public int compareTo(Member o)
    {
        return name.compareTo(o.name);
    }
}
 
 
public class ArraySort {
 
    public static void main(String[] args) {
        Member m1 = new Member("홍길동");
        Member m2 = new Member("이순신");
        Member m3 = new Member("권율");
        Member[] members = {m1, m2, m3};  // Member 배열
        Arrays.sort(members);
        for(int i = 0 ; i < members.length ; i++)
        {
            System.out.println(members[i].name);
        }
    }
 
}
 
Colored by Color Scripter

위 처럼 하면 이름을 기준으로 정렬을 하게 된다.


반응형
그리드형
Comments