Java

[Java] Collection

Bay Im 2024. 3. 18. 12:59
  • Collection framework
    • Collection
      • 사전적 의미로는 요소(객체)를 수집해 저장하는 것
    • Collection framework
      • 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 컬렉션 라이브러리
      • java util 패키지 포함
      • 인터페이스를 통하여 정형화된 방법으로 다양한 컬렉션 클래스 이용
  • 컬렉션 프레임워크의 주요 인터페이스
    • List
      • 순서를 유지하고 저장 (인덱스로 관리)
      • 중복 저장 가능
      • 종류
        • ArrayList
          • List<데이터타입> 변수명 = new ArrayList<>(); 형태
          • 저장 용량을 초과한 객체들이 들어와도 자동적으로 늘어난다.
          • 객체 제거시 자동으로 앞으로 1씩 당겨진다.
          • 저장 용량 고정도 가능
        • LinkedList
          • List<데이터타입> 변수명 = new LinkedList<>(); 형태
          • 추가, 삭제 속도는 ArrayList보다 빠르고 검색은 느리다.
        • Vector
    • Set
      • 순서를 유지하지 않고 저장
      • 중복 저장 불가
      • 종류
        • HashSet
          • Set<데이터타입> 변수명 = new HashSet<>(); 형태
        • TreeSet
    • Map
      • 키(key)와 값(value)의 쌍으로 저장
      • 키와 값은 모두 객체
      • 키는 중복 저장 불가, 값은 중복 저장 가능
      • 종류
        • HashMap
          • Map<키의데이터타입, 값의데이터타입> map = new HashMap<K, V>(); 형태
        • TreeMap
        • Hashable
        • Properties
  • List 컬렉션의 주요 메소드
    • 객체 추가
      • add(index, element)
        • 해당 인덱스 위치에 객체 추가
      • add(object)
        • 해당 객체를 맨 끝에 추가
      • set(index, element)
        • 해당 인덱스 위치에 저장되어 있는 객체를 주어진 객체로 변경
    • 객체 검색
      • contains(object)
        • 주어진 객체가 저장되어 있는 지여부
      • get(index)
        • 해당 인덱스에 저장된 객체를 리턴
      • isEmpty()
        • 컬렉션이 비어있는지 확인
      • size()
        • 전체 객체수 리턴
      • iterator()
        • 저장된 객체를 한번씩 가져오는 반복자 리턴
    • 객체 삭제
      • clear()
        • 모든 객체 삭제
      • remove(index)
        • 해당 인덱스에 저장된 객체 삭제
      • remove(object)
        • 주어진 객체 삭제
    • 객체 정렬
      • Collections.sort(리스트명)
        • 오름차순 정렬
      • Collections.sort(리스트명, reverseOrder())
        • 내림차순 정렬
  • Set 컬렉션의 주요 메소드
    • 객체 추가
      • add(element)
    • 객체 검색
      • contains(object)
      • isEmpty()
      • iterator()
      • size()
    • 객체 삭제
      • clear()
      • remove(object)
  • Map 컬렉션의 주요 메소드
    • 객체 추가
      • put(key, value)
        • 주어진 키와 값을 추가, 저장되면 값을 리턴
    • 객체 검색
      • containsKey(key)
        • 주어진 키가 있는지 여부 확인
      • containsValue(value)
        • 주어진 값이 있는지 여부 확인
      • get(key)
        • 주어진 키의 값을 리턴
      • isEmpty()
      • keySet()
        • 모든 키를 Set 객체에 담아서 리턴
      • size()
      • values()
        • 모든 값을 Collection에 담아서 리턴
    • 객체 삭제
      • clear()
      • remove(key)
        • 해당 키와 일치하는 값 삭제, 삭제 시 값 리턴
    • 객체 전체 출력
      • for-each 사용
        • for (String key : map.keySet()) { System.out.println(map.get(key)); }
      • Iterator 사용
        • Iterator<String> it = map.keySet().iterator();
          while (it.hasNext()) {
              System.out.println(it.next());
              System.out.println(map.get(it.next()));
          }
  • Iterator (반복)
    • 컬렉션(List, Map, Set)의 저장된 객체를 한번씩 가져오는 반복자 리턴
    • Iterator<데이터타입> it = 컬렉션명.iterator();
      while (it.hasNext()) {
          System.out.println(it.next());
      }
  • 자바의 데이터 구조
    • 변수
    • Array
      • 인덱스, 대량의 값
    • List
      • 인덱스, 대량의 값
      • 추가, 삭제, 변경
    • Set
      • 중복, 순서없는 집합 구조
    • Map
      • Key-Value
        • JSON, XML 데이터 구조와 연결 역할
        • Class의 변수-값

'Java' 카테고리의 다른 글

[Java] Jar 파일 생성  (0) 2024.04.06
[Java] JDBC  (0) 2024.03.18
[Java] Thread  (0) 2024.03.18
[Java] Exception  (0) 2024.03.18
[Java] 중첩 클래스, Wrapper 클래스, API 메소드, 자바 관련 단어들  (0) 2024.03.18