Java 언어에서
String 타입의 배열을 toCharArray()로 char[] 배열로 분해한 뒤
활용하는 경우가 종종 있다, 오늘은 내림차순 정렬이 필요하여
Arrays.sort() 함수를 사용하려고 char[] 배열을 전달하였고, 내림차순으로 하고자 Collections.reverseOrder()를 전달했는데
타입 오류가 발생하였다.
//잘못된 사용.
char[] x_arr = X.toCharArray();
char[] y_arr = Y.toCharArray();
int x_idx = 0;
int y_idx = 0;
Arrays.sort(x_arr,Collections.reverseOrder());
Arrays.sort(y_arr,Collections.reverseOrder());
이유는 char 타입이 Object 타입이 아니기 때문으로, Arrays.sort()를 사용하여 오름차순 정렬은 사용할 수 있지만.
평소와 같이 Collections.reverseOrder()를 전달하여 내림차순으로 정렬할 수는 없고 다른 방법을 사용해야 한다고한다.
간단하게 for문을 사용하여 뒤집는방법을 적어본다.
1. for문을 사용하여 인위적으로 직접 뒤집어주는것.
import java.util.Arrays;
char[] alpha = {'a','b','c','d','e'};
Arrays.sort(alpha); //오름차순 정렬
//뒤집은 결과를 담을 변수
char[] temp = new char[alpha.length];
for(int i=0; i<alpha.length; i++){
temp[alpha.length-1-i] = alpha[i];
}
DATEDIFF
mysql에서 날짜차이 계산에 DATEDIFF와, TIMESTAMPDIFF를 지원합니다.
간단하게, 일수의 차이를 구할 때는 DATEDIFF를, 년 / 월 / 시간 등을 지정하여 구할 때는 TIMESTAMPDIFF를 사용
1.DATEDIFF
DATEDIFF(첫번째날짜, 두번째날짜)
2.TIMESTAMPDIFF
TIMESTAMPDIFF(단위, 첫번쨰날짜, 두번쨰날짜)
여기에서 단위는
- SECOND : 초
- MINUTE : 분
- HOUR : 시간
- DAY : 일
- WEEK : 주
- MONTH : 월
- QUARTER : 분기
- YEAR : 연도
나머지는 개인 과제 진행
'부트캠프 > TIL' 카테고리의 다른 글
[부트캠프] TIL - 프로그램, 프로세스, 쓰레드 (0) | 2024.07.30 |
---|---|
[부트캠프] TIL - 에러핸들링 (0) | 2024.07.29 |
[부트캠프] TIL - 약수의 갯수, MySQL (1) | 2024.07.25 |
[부트캠프] TIL - 인스턴스 멤버와 클래스 멤버, this와 this(), 상속 (1) | 2024.07.24 |
[부트캠프] TIL - 깊은복사, 얕은복사, Java Collections, IntelliJ plugin (1) | 2024.07.23 |