일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- React
- props {}
- DB
- react_usememo
- react_usecallback
- html
- 자식커밋 쌍방향 재배치 오류
- 차등프라이버시
- map()함수
- js
- 코린이
- 커밋메시지 변경하기
- 알고리즘
- vercel
- react_useeffect
- C++
- 제로샷-원샷-퓨샷
- css
- server비교
- react_usereducer
- 자바
- node.js 초기설정
- JavaScript
- 웹개발공부
- 미디어쿼리
- java
- 소스트리
- 내돈내산
- 웹개발
- branch 합치기
Archives
- Today
- Total
Soony's House
[JAVA] sort함수, 배열 정렬(오름차순, 내림차순) 본문
728x90

1차원 배열 정렬
1차원 배열 오름차순 | 1차원 배열 내림차순 |
import java.util.Arrays; | import java.util.Arrays; import java.util.Collections; |
Arrays.sort(배열); | Arrays.sort(배열, Collections.reverseOrder()); |
int배열 사용가능 | Wrapper Class 사용(Integer 등) |
2차원 배열 정렬
2차원 배열 오름차순 | 2차원 배열 내림차순 |
import java.util.Arrays; import java.util.Comparator; |
import java.util.Arrays; import java.util.Comparator; |
Arrays.sort(배열,new Comparator<int[]>(){내부구문}); | Arrays.sort(배열, new Comparator<int[]>(){내부구문}); |
if(o1[0]==o2[0]){ return o1[1]-o2[1]; } else{ return o1[0]-o2[0] } |
if(o1[0]==o2[0]){ return o1[1]-o2[1]; } else{ return o2[0]-o1[0] } |
- 오름차순(디폴트)
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
int[] arr = {1,22, 12,55, 44, 4691};
Arrays.sort(arr);
}
}
import java.util.Arrays;
public class Sort {
public static void main(String[] args) {
String[] words = {"피카츄","라이츄","파이리","꼬부기","야도란"};
Arrays.sort(words);
}
}
- 내림차순
내림차순은 Collection.reverseOrder()를 사용한다.
-> 주의할 점 : 기본형 타입들을 내림차순으로 정렬하고 싶다면 배열을 래퍼클래스로 만들어주어야 정렬이 가능함.
예를 들어 int를 내림차순 정렬할 경우, Integer로 변경해주어야함.
String은 기본 타입이 아니므로 타입 변환 없이 정렬이 가능함.
+) int형 배열을 Integer 배열로 바꾸는 방법
Integer[] arr = Arrays.stream(_arr).boxed().toArray(Integer[]::new);
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class Main{
static Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
int arr[]= new int[7];
for(int i=0;i<arr.length;i++) {
arr[i]=sc.nextInt();
}
Integer arr1[] = Arrays.stream(arr).boxed().toArray(Integer[]::new);
Arrays.sort(arr1, Collections.reverseOrder());
System.out.println("MAX="+arr1[6]);
System.out.print("MIN="+arr1[0]);
}
}
import java.util.Arrays;
import java.util.Collections;
public class Sort {
public static void main(String[] args) {
String[] words = {"김철수","강동원","공지철","이동욱","박해일","이제훈"};
Arrays.sort(words, Collections.reverseOrder());
}
}
import java.util.Arrays;
import java.util.Collections;
public class Sort {
public static void main(String[] args) {
Integer[] numList = {1,22, 12,55, 44, 4691};
Arrays.sort(numList, Collections.reverseOrder());
}
}
728x90
'💡Language > JAVA' 카테고리의 다른 글
[JAVA] 큐(Queue) · 메서드 정리 (0) | 2024.10.14 |
---|---|
[JAVA] 스택 (Stack) · 메서드 정리 (3) | 2024.10.14 |
[JAVA] String 비교하기 (9) | 2024.09.30 |
[JAVA] Java의 인자 전달 , 포인터 ? - call by value, call by reference (0) | 2024.09.29 |
[JAVA] 자바 Int형 Char형 변환 (1) | 2024.09.23 |