JAVA(List, Map)

김민성·2023년 6월 28일

JAVA

목록 보기
2/11

List 컬렉션

  • 데이터를 순차적으로 처리하는 구조, 인덱스로 관리
  • 객체 자체를 저장하는 것이 아닌 주소를 참조
  • null을 담을 수 있음
  • 데이터 중복 허용 ( 이 경우 동일한 주소를 참조 )

List 인터페이스의 메소드

  • 객체 추가
    -> add(Object obj) : 맨 끝에 추가
    -> add(int index, Object obj) : 해당 인덱스에 추가
    -> set(int index, Object obj) : 해당 인덱스 객체 바꿈
  • 객체 검색
    -> contains(Object obj) : 해당 객체 저장 여부 리턴
    -> get(int index) : 해당 인덱스 객체 리턴
    -> isEmpty() : 컬렉션이 비었는지 조회
    -> size() : 저장된 객체 수 리턴
  • 객체 삭제
    -> clear() : 저장된 모든 객체 삭제
    -> remove(int index) : 해당 인덱스 객체 삭제
    -> remove(Object obj) : 해당 객체 삭제

ArrayList

: 리스트 인터페이스의 구현 클래스

  • ArrayList에 객체를 추가하는 순서대로 인덱스 번호 매겨짐
ArrayList<데이터타입> 변수명 = new ArrayList<데이터타입>();

LinkedList

: List의 구현 클래스. ArrayList와 사용 방법은 같지만 내부 구조가 다름

  • ArrayList는 데이터를 인덱스로 관리 / LinkedList는 인접 참조를 링크해서 체인처럼 관리
  • 데이터의 추가/삭제가 많은 경우 대부분 LinkedList가 성능 측면에서 더 좋음

Map 컬렉션

  • key와 value 객체로 구성된 객체를 저장
  • 객체의 주소를 저장
  • key는 중복 불가 (기존에 저장된 키와 동일한 키로 저장하면 새 값으로 대체)
  • value는 중복 가능

Map 인터페이스의 메소드

  • 객체 추가
    -> put(key, value) : 키와 값을 Map에 추가
  • 객체 검색
    -> containsKey(key) : 키가 있는지 여부 리턴
    -> containsValue(value) : 값이 있는지 여부 리턴
    -> get(key) : 주어진 키에 해당하는 값 리턴
    -> isEmpty() : 컬렉션이 비었는지 여부 리턴
    -> keySet() : 모든 키를 Set 객체에 담아서 리턴
    -> size() : 저장된 총 키의 개수 리턴
  • 객체 삭제
    -> clear() : Map의 모든 객체 삭제
    -> remove(key) : 키와 일치하는 객체 삭제

Hash Map

  • Map 인터페이스를 구현한 대표적 Map 컬렉션
  • 데이터 저장 순서 보장 안 함
  • 키에 대한 Hash값을 저장하고 조회하기 때문에 많은 양의 데이터를 다룰 때 성능이 뛰어남
HashMap<키_데이터타입, 밸류_데이터타입> 변수명 
= new HashMap<키_데이터타입, 밸류_데이터타입>();

0개의 댓글