Arrays.sort( )
1. String 타입의 정수배열을 sort()로 정렬하면 "숫자문자열"의 첫번째 index의 "숫자문자"에 따라 정렬된다.
ex) String array[] = {"3","1117","213","543","12345678"}
Arrays.sort(array); // ["1117","12345678","213","3","543"]
Arrays.sort(arr,(a,b)->a.compareTo(b)) // 오름차순 : ["1117","12345678","213","3","543"]
Arrays.sort(arr,(a,b)->b.compareTo(a)) // 내림차순 : ["543","3","213","12345678","1117"]
Arrays.sort(arr,(a,b) -> a-b); // 실행안됨
2. Integer 타입의 정수배열을 sort()로 정렬하면 크기 순서대로 정렬된다.
(배열선언시 Class Type만 가능. Wrapper Class 사용하기)
ex) Integer arr[] = {3,1117,213,543,12345678};
Arrays.sort(array); // [3,213,543,1117,12345678]
Arrays.sort(arr,(a,b) -> a.compareTo(b)); // 오름차순 [3,213,543,1117,12345678]
Arrays.sort(arr,(a,b) -> a-b); // 오름차순
Arrays.sort(arr,(a,b) -> b.compareTo(a)); // 내림차순 [12345678,1117,543,213,3]
Arrays.sort(arr,(a,b) -> b-a); // 내림차순
compareTo( ) 메소드를 사용한 정렬
string1.compareTo(string2)
- string1 > string2인 경우: 양의 정수 반환
- string1 < string2인 경우: 음의 정수 반환
- string1 == string2인 경우: 0 반환
public class Main {
public static void main(String[] args) {
System.out.println("apple".compareTo("orange")); // apple < orange
System.out.println("AAA".compareTo("aaa")); // AAA < aaa
System.out.println("ZZZ".compareTo("aaa")); // ZZZ < aaa
System.out.println("zzz".compareTo("aaa")); // zzz > aaa
System.out.println("strawberry".compareTo("strawberry")); // strawberry == strawberry
}
}
출력:
-14
-32
-7
25
0
람다식을 이용한 array 배열 오름차순 정렬
Arrays.sort(array , (a,b) -> a.compareTo(b));
람다식을 이용한 array 배열 내림차순 정렬
Arrays.sort(array , (a,b) -> b.compareTo(a));
https://mine-it-record.tistory.com/133
Arrays.sort( )
1. String 타입의 정수배열을 sort()로 정렬하면 "숫자문자열"의 첫번째 index의 "숫자문자"에 따라 정렬된다.
ex) String array[] = {"3","1117","213","543","12345678"}
Arrays.sort(array); // ["1117","12345678","213","3","543"]
Arrays.sort(arr,(a,b)->a.compareTo(b)) // 오름차순 : ["1117","12345678","213","3","543"]
Arrays.sort(arr,(a,b)->b.compareTo(a)) // 내림차순 : ["543","3","213","12345678","1117"]
Arrays.sort(arr,(a,b) -> a-b); // 실행안됨
2. Integer 타입의 정수배열을 sort()로 정렬하면 크기 순서대로 정렬된다.
(배열선언시 Class Type만 가능. Wrapper Class 사용하기)
ex) Integer arr[] = {3,1117,213,543,12345678};
Arrays.sort(array); // [3,213,543,1117,12345678]
Arrays.sort(arr,(a,b) -> a.compareTo(b)); // 오름차순 [3,213,543,1117,12345678]
Arrays.sort(arr,(a,b) -> a-b); // 오름차순
Arrays.sort(arr,(a,b) -> b.compareTo(a)); // 내림차순 [12345678,1117,543,213,3]
Arrays.sort(arr,(a,b) -> b-a); // 내림차순
'코딩테스트 > 정렬' 카테고리의 다른 글
[2차원 배열 서로 다른 기준으로 정렬] 인사고과 (0) | 2024.04.04 |
---|---|
Comparator, Lamda 사용하여 2차원 배열 정렬하기 (0) | 2024.02.20 |
배열(Arrays)의 효율적인 사용 (1) | 2024.02.07 |