23.03.06 컬렉션 프레임워크

김민성·2023년 3월 6일
0

열거형(enum) : 자바에서 열거형은 여러 상수들을 보다 편리하게 선언하고 관리할 수 있게하며, 상수명의 중복을 피하고, 타입에 대한 안정성을 보장한다.
또한 같은 효과를 낼 수 있는 다른 코드에 반해 훨씬 더 간결하고 가독성이 좋은 코드를 작성할 수 있으며 switch문에서도 작동이 가능하다.

제네릭(Generic) : 클래스나 메서드의 코드를 작성할 때, 타입을 구체적으로 지정하는 것이 아니라, 추후에 지정할 수 있도록 일반화해두는 것
제네릭 클래스 정의할 때 주의할 점 :
클래스 변수에는 타입 매개변수를 사용할 수 없다.
타입 매개변수에 치환될 타입으로 기본 타입을 지정할 수 없다.

ex ] Basket<Int> basket = .. (x)

컴파일 에러 : 세미콜론 생략,오탈자,잘못된 자료형,잘못된 포맷 등 문법적인 문제로 인해 컴파일 할 때 발생하는 에러
런타임 에러 : 프로그램이 실행될 때 즉 런타임 시에 발생하는 에러

try - catch 문 : 잠재적으로 발생할 수 있는 비정상 종료나 오류에 대비하여 정상 실행을 유지할 수 있도록 처리하는 코드 작성 과정

try 블럭 : 예외가 발생할 가능성이 있는 코드를 삽입
catch 블럭 : 예외가 발생하는 경우에 실행되는 코드
finally 블럭 : 옵션으로 필수적으로 포함되지 않아도 되지만, 만약 포함되는 경우에는 예외 발생 여부와 상관없이 항상 실행

컬렉션 프레임워크 : 특정 자료 구조에 데이터를 추가하고, 삭제하고, 수정하고, 검색하는 등의 동작을 수행하는 편리한 메서드들을 제공

List : 데이터의 순서가 유지되며, 중복 저장이 가능한 컬렉션 / 배열과 같이 객체를 일렬로 늘어놓은 구조이다.
ArrayList,Vector,Stack,LinkedList ..

ArrayList : 객체가 인덱스로 관리된다는 점에서 배열과 유사하지만 배열은 생성될 때 크기가 고정되는 반면 ArrayList는 저장 용량을 초과하면 자동으로 저장 용량이 늘어난다.

LinkedList : 데이터를 효율적으로 추가, 삭제, 변경하기 위해 사용한다.

Set : 데이터의 순서가 유지되지 않으며,중복 저장이 불가능한 컬렉션
HashSet,TreeSet..

TreeSet : 이진 탐색 트리 형태로 데이터를 저장한다.

Map : 키와 값의 쌍으로 데이터를 저장하는 컬렉션
데이터의 순서가 유지되지 않으며, 키는 값을 식별하기 위해 사용되므로 중복 저장이 불가능하지만,값은 중복 저장이 가능
// 만약 기존에 저장된 키와 동일한 키로 값을 저장하면, 기존의 값이 새로운 값으로 대치

Iterator : 반복자라는 의미를 가지며, 컬렉션에 저장된 요소들을 순차적으로 읽어오는 역할을 한다.

ArrayList<String> list = ...;
Iterator<String> iterator = list.iterator();

while(iterator.hasNext()){        // 다음 객체가 있다면
	String str = iterator.next();   // 객체를 읽어오고,
	if(str.equals("str과 같은 단어")){ // 조건에 부합한다면
		iterator.remove();            // 해당 객체를 컬렉션에서 제거합니다. 
	}
}

0개의 댓글