1. 배열 오름차순 정렬
Arrays.sort()
- sort() method는 전달받은 배열의 모든 요소를 오름차순으로 정렬합니다.
- sort() method는 매개변수로 정렬할 배열을 전달받는다.
(1) 정수 자료형
int [] array = {3, 5, 7, 2, 6, 4, 1, 9, 10, 8};
//Arrays.toString()
System.out.println(Arrays.toString(array));
//Arrays.sort()
Arrays.sort(array);
System.out.println(Arrays.toString(array));
(2) 문자 자료형
Character [] arr = {'b', 'c', 'a'};
//Arrays.toString()
System.out.println(Arrays.toString(arr));
//Arrays.sort()
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
(3) 문자열
String [] a = {"hello", "apple", "campus"};
//Arrays.toString()
System.out.println(Arrays.toString(a));
//Arrays.sort()
Arrays.sort(a);
System.out.println(Arrays.toString(a));
(4) 사용자 정의 Class
Member m1 = new Member(1, "B");
Member m2 = new Member(2, "C");
Member m3 = new Member(3, "A");
Member [] members = {m1, m2, m3};
//Arrays.toString()
System.out.println(Arrays.toString(members));
//Arrays.sort()
Arrays.sort(members);
System.out.println(Arrays.toString(members));
private static class Member implements Comparable<Member> {
private int id;
private String name;
public Member(int id, String name) {
this.id = id;
this.name = name;
}
@Override
public int compareTo(Member m) {
return name.compareTo(m.name);
}
@Override
public String toString() {
return "Member{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
2. 배열 내림차순 정렬
Arrays.sort(객체 , Collections.reverseOrder())
- 단순히 Collections.reverseOrder()를 붙여주면 내림차순으로 정렬 가능한다.
Arrays.sort(a, Collections.reverseOrder());
Arrays.sort(members, Collections.reverseOrder());
* 주의
Collections.reverseOrder() 사용 시 배열은 객체만 가능하다.
primitive type사용시 컴파일 에러
(1) Example
int [] array = {3, 5, 7, 2, 6, 4, 1, 9, 10, 8};
//Arrays.toString()
System.out.println(Arrays.toString(array));
//Arrays.sort()
Arrays.sort(array, Collections.reverseOrder());
System.out.println(Arrays.toString(array));
java: no suitable method found for sort(int[],java.util.Comparator<java.lang.Object>)
에러 발생
(2) 수정
- int 자료형은 Integer class로 바꿔준다.
Integer [] array = {3, 5, 7, 2, 6, 4, 1, 9, 10, 8};
//Arrays.toString()
System.out.println(Arrays.toString(array));
//Arrays.sort()
Arrays.sort(array, Collections.reverseOrder());
System.out.println(Arrays.toString(array));
반응형
'Java' 카테고리의 다른 글
[JAVA] String Methods (String 클래스 method) (0) | 2021.11.05 |
---|---|
[JAVA] Iterator Interface (0) | 2021.10.14 |
[JAVA] List 정렬(Sort)하기 (feat. Collections.class) (0) | 2021.10.01 |
[JAVA] Comparable Interface vs Comparator Interface (0) | 2021.09.30 |
[JAVA] 컬렉션 프레임웍 (Collections Framework) (0) | 2021.09.21 |
댓글