Java Set 컬렉션 구현체의 특성과 활용
Set 인터페이스는 중복 요소를 허용하지 않는 컬렉션 타입으로, 각 구현체는 데이터 저장 방식과 순서 보장 여부에서 차이를 보인다. 주요 구현체인 HashSet, LinkedHashSet, TreeSet의 특성과 사용 방법을 살펴보자.
HashSet은 해시 테이블을 기반으로 동작하며, 요소의 순서가 보장되지 않는다. 다음 코드 예시는 Integer 타입 요소를 HashSet에 추가한 결과를 보여준 ...
8월 25일 14:55에 게시됨
Java 람다 표현식 활용법
람다 표현식 기본 문법
람다 표현식은 함수형 인터페이스를 구현할 때 사용되는 간결한 문법입니다. 두 문자열의 길이 차이를 계산하는 예시를 통해 다양한 형태를 살펴보겠습니다.
문자열 first와 second의 길이 차이를 구하는 표현식은 다음과 같은 형태로 작성할 수 있습니다:
전체 타입 명시: (String first, String second) -> {return first.length() - second.le ...
8월 25일 07:05에 게시됨
Arrays.sort() 메소드의 작동 원리와 활용 방법
Java에서 배열 정렬은 개발자들이 일상적으로 마주하는 작업 중 하나다. Arrays.sort(T[] array, Comparator<? super T> c) 메소드는 사용자 정의 객체 배열을 정렬할 때 사용하는 강력한 도구다. 이 메소드의 내부 동작 원리와 활용 방식을 살펴보자.
1. 기본 사용법
Comparator 인터페이스를 구현하면 객체 간 비교 로직을 정의할 수 있다. 다음 예제는Animal 클 ...
6월 17일 18:47에 게시됨
C++ STL map lower_bound 비교자 사용 시 주의할 점과 성능 최적화 전략
std::map은 C++ 표준 라이브러리에서 제공하는 정렬된 연관 컨테이너로, 내부적으로 레드-블랙 트리를 사용합니다. lower_bound 멤버 함수는 주어진 키보다 작지 않은 첫 번째 요소를 찾는 데 사용되며, 시간 복잡도는 O(log n)입니다. 이 함수의 동작은 컨테이너가 사용하는 비교자(Comparator)에 크게 의존합니다.
비교자의 역할과 사용자 정의 비교자
std::map은 기본 ...
6월 5일 23:41에 게시됨