about. What I learned/about.Gudi

3/26 개념 및 암기할 것들

Logan. 2021. 3. 31. 23:30

컬렉션 프레임워크의 핵심 개념들을 배웠다. 컬렉션 프레임웍이란 '데이터 군을 저장하는 클래스들을 표준화한 설계'를 뜻한다.

 

 

컬렉션 = 데이터 그룹   ,    프레임 웍 = 표준화된 프로그래밍 방식

 

 

자료구조의 전체적인 흐름

 

인터페이스 특징
List
(순서0,중복0)
순서가 있는 데이터의 집합. 데이터의 중복을 허용한다.
예 ) 대기자 명단
구현 클래스 : AtrrayList, LinkedList, Stack,Vector
Set
(순서x, 중복x)
순서를 유지하지 않는 데이터의 집합, 데이터의 중복을 허용하지 않는다.
예) 양의 정수집합, 소수의 집합
구현 클래스 : HashSet, TreeSet 등
Map
(순서x,
중복 : 키x,값0)
키와 값의 쌍으로 이루어진 데이터의 집합
순서는 상관이 없으며 키는 중복을 허용하지 않고 값은 중복을 허용한다.
구현 클래스 : HashMap, TreeMap

 

#List - ArrayList

컬랙션 프레임 워크 중에 가장 많이 사용되는 컬렉션 클래스이다. List 인터페이스를 구현하는 클래스이기때문에 순서대로 저장하고 중복을 허용한다. 모든 자료들은 Object 타입의 객체에 저장한다. 순서는 인덱스 0 부터 시작하고 뒤로 순차적으로 늘어간다.

 

- 구현 : <클래스 명 >은 제네릭으로 해당 데이터 객체의 관리형태에 따라 수정한다.( 변수의 데이터 타입 같은 참조형 타입)

@ 만약 2차원 배열 형태의 리스트를 관리한다면 <클래스명,클래스명> 으로 타입을 지정해준다 

List<클래스명> list = new ArrayList<클래스명>();

[ 생성자 ]

  • new ArrayList() : 기본 크기가 10인 배열 생성
  • new ArrayList(기본크기) : 기본 크기를 지정 (배열이 다 차면 기본크기만큼 사이즈가 증가함)
  • new ArrayList<제네릭>() : 배열 값의 타입을 지정

[ add() ]

  • 순서대로 리스트를 추가
  • 배열 사이즈 초과 시 초기 설정된 사이즈만큼 자동으로 사이즈가 증가함
  • 인덱스를 추가로 지정해주면 해당 인덱스에 값을 삽입 

[ get() ]

  • 인덱스를 제공하면 해당 값을 반환

[ set() ]

  • 인덱스, 바꿀 값을 제공하면 해당 인덱스의 값을 바꿔줌

[ indexOf() / lastIndexOf() ]

  • 값을 제공하면 해당 값의 인덱스를 반환
  • indexOf()는 0부터 순서대로 검색해서 첫 번 째 값의 인덱스를 반환
  • lastIndexOf()는 반대 순서로 검색

[ remove() ]

  • 인덱스 제공 시 해당 인덱스의 값 삭제
  • 값 제공 시 첫번 째 검색 값 삭제

[ contains () ]

  • 값을 제공하면 해당 값이 배열에 있는지 검색해서 true / false 반환

[ toArray() ]

  • ArrayList 타입의 인스턴스를 일반 배열 타입으로 반환
  • 저장할 배열 타입에 맞춰 자동 형변환
  • 배열 크기 또한 자동으로 맞춰서 바꿔

[ clear() / isEmpty() ]

  • clear() : 배열의 값 모두 삭제
  • isEmpty() : 배열이 비었으면 true, 하나라도 값이 있으면 false 반환

[ addAll() ]

  • 두 컬렉션을 합침

[ containsAll() ]

  • argument로 제공한 컬렉션의 모든 값이 포함되어 있는지 여부를 true / false로 반환

[ retainAll() ]

  • argument로 제공한 컬렉션 내에 들어있는 값을 제외하고 모두 지워줌

[ removeAll() ]

  • argument로 제공한 컬렉션 내에 들어있는 값과 일치하는 값을 모두 지워줌
  • retainAll() 메소드와 반대

[ size() ]

  • 현재 저장돼 있는 값의 갯수 반환

#Map-HashMap