HashMap, HashSet, ArrayList, Iterator

조수경·2021년 11월 7일
0

고급자바

목록 보기
21/97

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

  • 참고

ArrayList와HashMap많이쓰고

상대적으로HashSet은 덜 사용한다

각 인터페이스별 핵심 클래스(보편적 많이 사용)

ArrayList

배열형식으로 저장하는 객체 목록 클래스
순서가 존재, 중복된 객체 저장 가능

HashSet

해쉬코드를 사용하여 객체를 배치,
순서가 없음. 중복된 객체 저장 불가.
순차적으로 사용해야 할 경우 iterator 구조체로 변경.

HashMap

해쉬코드를 사용하여 객체를 배치
키와 값의 쌍으로 객체를 저장.

Wrapper Class

기본(Primitive) 자료형의 클래스화

자바는 모든 것을 객체로 프로그래밍하도록 설계되었다.

문제가 되는 것은 기존 프로그래밍 언어에서 사용한 자료형인데,

이(기본)자료형은 객체가 아니기 때문이다.

그래서, 이 자료형을 클래스로 만든 것이 랩퍼 클래스이다.

랩퍼 클래스는 기본 자료형에 해당하는 데이터를 동적인 객체로 취급하도록 하며, 동시에 다양한 부가 기능을 제공한다.

주요 부가기능이 바로 문자열을 해당 자료형 데이터로 바꾸는 것이다.

예) 정수 -> Integer.parseInt(숫자문자열);

특히 객체를 저장하도록 설계된 C.F에서는 리터럴(일반 값)으로 저장이 불가능하게 설계되어 있어서 반드시 기본 자료형 데이터 객체로 만들어 저장해야하며, 이때 랩퍼 클래스가 사용된다.

byte > Byte

boolean > Boolean

char > Character

short > Short

int > Integer

long > Long

float > Float

double > Double

HashSet

add() : 객체 추가용 메소드

remove(): 객체 삭제용 메소드(iterator의 remove사용)

clear(): 원소 전체 삭제

size(): 집합의 크기

contains(): 특정 원소 존재 유무확인

set은 순번이 없기 때문에, 하나씩 모든 원소를 꺼내는 작업이 불가능
iterator로 변환하여 사용

Iterator 인터페이스

Collection의 순차적인 접근 방법을 제공하는 인터페이스.

Set의 경우 비순차적으로 저장하기 때문에, Iterator를 사용



Iterator의 3개 메소드

1. HasNext() : 처리할 원소가 있는지 여부 확인

처리할 원소가 있으면 true, 없으면 false (while문과 사용)

2.Next(): 해당 순번의 원소를 가져오는 메소드

3.remove(): 가져온 원소를 삭제

List에서도 안전한 삭제를 위해 Iterator를 활용.

HashMap

한번에 두 데이터를 저장

한 쌍으로 이루어진 데이터. 영단어 사전 - 단어 : 뜻

키와 값의 쌍으로 저장. 값을 키로 검색하는 구조.

profile
신입 개발자 입니다!!!

0개의 댓글

관련 채용 정보