👣 개요
Effective Java를 전체적으로 다시 훑어 처음에 공부했던 부분을 다시 상기시키는 작업을 수행했다.
동시에 '자바 ORM 표준 JPA 프로그래밍'이라는 책을 구입해 조금 읽었다.
내일[8/24]에 알고리즘 문제를 푸는 시험을 보기 때문에 Java에서 자주 사용되는 문법들을
다시 정리하기도 했다. 정리한 내용은 다음과 같다.
1. 특정 범위 내에서만 증가하게 하기.
newC = newC + n;
newC = floor + (newC - floor) % (ceil - floor);
2. 특정 값으로 List 초기화
List<String> copies = Collections.nCopies(3, "초기화할 값");
// copies : ["초기화할 값", "초기화할 값", "초기화할 값"]
3. Set의 교집합, 합집합, 차집합
Set<Integer> set1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
Set<Integer> set2 = new HashSet<>(Arrays.asList(3, 4, 5, 6, 7));
// 교집합
Set<Integer> intersection = new HashSet<>(set1);
intersection.retainAll(set2); // 출력: [3, 4, 5]
// 합집합
Set<Integer> union = new HashSet<>(set1);
union.addAll(set2); // 출력: [1, 2, 3, 4, 5, 6, 7]
// 차집합
Set<Integer> difference = new HashSet<>(set1);
difference.removeAll(set2); // 출력: [1, 2]
4. 유클리드 호제법
int gcd(int a, int b) {
// 더 큰 상수 찾기.
int x,y;
if(a > b) {
x=a; y=b;
}
// 유클리드 호제법
int tmp;
while(y > 0) {
tmp = x%y;
x = y; y = tmp;
}
// 최대 공약수 출력
return x;
}