반응형
728x170
배열을 정렬하는 방법은 프로그래머가 직접 정렬 메소드를 만들어 사용할 수도 있지만 기본적으로 자바에서 제공해주는 정렬 기능도 있다.
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 = {99, 95, 98}; 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 |
위 처럼 하면 이름을 기준으로 정렬을 하게 된다.
반응형
그리드형
'java' 카테고리의 다른 글
자바 Math 클래스, Random 클래스 (0) | 2017.08.18 |
---|---|
자바 와퍼(wrapper, 포장) 클래스, 박싱(boxing), 언박싱(unboxing), 자동 박싱(auto boxing) (0) | 2017.08.18 |
자바 정규 표현식(regular expression) (0) | 2017.08.18 |
자바 String 클래스(StringBuilder), split 메소드 (2) | 2017.08.18 |
java 연결리스트 만들기(java linked list) (0) | 2017.08.18 |