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