Arrays.sort( ) - String 타입 / Integer 타입
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
[JAVA] 자바_compareTo ( 값 [문자열/숫자] 비교 )
compareTo() - int compareTo(NumberSubClass referenceName) - int compareTo(String anotherString) - compareTo() 함수는 두개의 값을 비교하여 int 값으로 반환해주는 함수이다. compareTo() 함수에는 위에서 설명하는바와 같이 "
mine-it-record.tistory.com
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); // 내림차순