자바

[JAVA] 컬렉션 프레임 워크 (Collection Framework)

ChaeHing 2023. 3. 8. 00:44

컬렉션 프레임워크(Collection Framework)

  • 컬렉션이란 여러 데이터들의 집합을 의미
  • 특정 자료 구조에 데이터를 추가하고, 삭제하고, 수정하고, 검색하는 등의 동작을 수행하는 편리한 메서드들을 제공



List - 객체를 배열과 같이 일렬로 저장, 인덱스를 통해 객체를 검색, 추가, 삭제 가능

  • arraylist :  데이터가 연속적으로 붙어있기 때문에 삭제와 추가시 불리 ,
  • linkedlist는 연속적이지 않기 때문에 삭제와 추가시 용이 인덱스로 바로 접근이 가능해 검색에 용이,인덱스에 순차적으로 접근하기 때문에 검색에 불리 

Set - 객체의 중복을 허용하지 않고, 저장 순서를 유지하지 않는다.

  • HashSet -> 중복값x, 저장순서 유지 X  
  • TreeSet -> 데이터가 오름 차순으로 정렬됨, 검색에 용이 

 

Map - key와 value 쌍(entry)으로 이루어져 있다.

  • key는 중복x value는 중복가능
  • value가 같더라도 key가 다르면 다른값

 

메서드 정리

 

ArrayList

  • .size() = 리스트 크기
  • .get(index) = 해당인덱스 요소
  • .add(요소) = 요소 추가, 자동으로 맨뒤에 추가됨
  • .add(index, 요소) = 해당 인덱스의 요소 추가
  • .set(index, 요소) = 해당 인덱스의 요소 수정
  • .remove(index) = 해당 인덱스 요소 삭제후 해당 요소 반환
  • .clear() = 모든 요소 삭제
  • .iterator() = 배열순회메서드  
    • ex) Iterator<Integer> iterator = arrayList.iterator(); 
                                 arrayList.hasNext(), arrayList.next(), arrayList.remove()

  HashMap

  • .get(key) = key값의 해당하는 value 리턴
  • .put(key, value) = key, value 저장
  • .remove(key) = 해당 키값의 엔트리 삭제
  • .clear() = 모든 엔트리 삭제
  • .size() = 전체 엔트리 개수 리턴 (int)
  • .keySet() = 모든 키를 Set 객체에 담아서 리턴
  • .containsKey(key) = 해당하는 key값이 있는지 여부 리턴 boolean
  • .containsValue(value) = 해당하는 value가 있는지 여부 리턴 boolean

 

Arrays.asList(배열) = 배열을 어레이로 바꾸기
- ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));