Java - 컬렉션 (자료구조 클래스)

Jean·2025년 6월 25일
0

풀스택 교육

목록 보기
4/28

📌 요약!

Java 컬렉션은 ArrayList, LinkedList, HashSet, LinkedHashSet 등 다양한 구조가 있으며, 각각 접근 속도, 중복 처리, 순서 유지 특징이 다르다.

객체의 비교에는 equals()hashCode()가 필요하며, 특히 Hash 계열 컬렉션에서 중복 체크를 위해 함께 재정의해야 한다.

정렬 시에는 Comparable을 구현해 compareTo()를 작성하고, Iterator를 통해 컬렉션을 순회하며 출력할 수 있다.

👯  1. equals()hashCode()

메서드역할언제 오버라이딩?
equals(Object)객체 내용이 같은지 비교클래스끼리 논리적으로 같다고 보고 싶을 때
hashCode()객체의 고유 숫자값 리턴 → Hash 계열 컬렉션에 사용equals() 오버라이드 시 반드시 같이 오버라이딩해야 함

✅ equals()와 hashCode() 둘 다 있어야 HashSet, HashMap에서 중복 제거나 정상 동작 가능

🍬  2. 주요 컬렉션(Collection) 타입

컬렉션특징순서 유지중복 허용정렬
ArrayList배열 기반, 빠른 접근✅ 유지✅ 허용❌ (직접 정렬 필요)
LinkedList노드 기반, 빠른 삽입/삭제✅ 유지✅ 허용
HashSet해시 기반, 중복 제거❌ 없음❌ 허용 안 함
LinkedHashSet입력 순서 유지 + 중복 제거✅ 유지

📚 3. 정렬 (Comparable, Comparator)

  • implements Comparable<T> → 객체 자체에 정렬 기준 정의
  • compareTo() 메서드 내부에서 기준 속성(price, id, 등)으로 비교
  • Arrays.sort() 또는 Collections.sort() 로 정렬 실행

🤹‍♀️ 4. Iterator (이터레이터)

  • for-each 문이나 Iterator를 사용해서 모든 컬렉션을 출력 또는 순회 가능
Iterator<Product2> iter = list.iterator();
while (iter.hasNext()) {
    System.out.println(iter.next());
}

profile
햇내기 개발자 지망생

0개의 댓글