본문 바로가기
IT Study/따즈아 Java & Java 기초

Java - Wrapper클래스/자료구조/CollectionFramework

by hhyyyjun 2022. 12. 25.

Wrapper 클래스

기본 자료형을 포장해서 형변환 또는 사용이 편리하게 만들어주는 참조형 클래스

Wrapper 클래스 종류

자료형
설명
자료형
설명
Integer
정수형 int에 대한 wrapper클래스
Byte
정수형 byte에 대한 wrapper클래스
Double
실수형 double에 대한 wrapper클래스
Short
정수형 short에 대한 wrapper클래스
Character
문자형 char에 대한 wrapper클래스
Long
정수형 long에 대한 wrapper클래스
Boolean
논리형 boolean에 대한 wrapper클래스
Float
실수형 float에 대한 wrapper클래스

박싱(Boxing)

기본 자료형을 Wrapper 클래스로 변환하는 것

언박싱(UnBoxing)

Wrapper 클래스 자료형을 기본 자료형으로 변환하는 것

오토박싱(Auto Boxing)과 오토 언박싱(Auto UnBoxing)

박싱과 언박싱을 자바 컴파일러가 자동으로 처리해주는 것

1) Practice - boxing

2) Practice - unboxing/auto boxing&unboxing


자료구조

데이터의 집합을 효율적으로 관리하기 위한 데이터 구조

자료구조의 종류

1. 단순구조(자료구조로 볼 경우)

정수, 실수, 문자, 문자열 등 기본 변수들이 이에 포함 됨.

2. 선형 구조

1) 배열(Array) - 아파트 호수 구조, 가장 일반적인 자료 구조로 인덱스에 대응하는 데이터 구조

2) 연결 리스트(Linked List) - 각 노드가 데이터 포인트를 가지고 한 주로 연결되어 있는 구조

Array List와의 차이

구분
순차적으로 추가/삭제
중간에 추가/삭제
검색
ArrayList
빠르다
느리다
빠르다
LinkedList
느리다
빠르다
느리다

3) 스택(Stack)

후입선출(LIFO : Last Input First Out) 자료 구조 - 나중에 들어온자료를 먼저 사용한다.

4) 큐(Queue)

선입선출(FIFO : First Input First Out) 자료 구조 - 먼저 들어온 자료를 먼저 사용하는 자료구조

3. 비선형구조

1) 트리(Tree) - 부모 노드 밑에 여러개의 자식 노드가 연결되고 또 연결되는 구조

2) 그래스(Graph)


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

데이터 집합을 저장하고 관리하기 위한 클래스들을 표준화한 설계 구조

자바에서 대표적인 컬렉션 인터페이스

1. List

순서가 있는 데이터의 집합으로 데이터 중복을 허용한다.

구현 클래스 : ArrayList, LinkedList, Stack, Vector

2. Set

순서를 유지하지 않는 데이터 집합으로 데이터 중복을 허용하지 않는다.

구현 클래스 : HashSet, LinkedHashSet, TreeSet 등

3. Map

키(key)와 값(value)의 쌍으로 이루어진 데이터 집합으로 순서는 유지되지 않으며, 키는 중복을 허용하지 않고 값은 중복을 허용한다.

구현 클래스 : HashMap, LinkedHashMap, TreeMap 등

컬렉션 프레임워크를 사용하는 이유

실행중에 크기를 변경할 수 없는 배열과 달리 실행중에 데이터의 크기를 동적으로 마음대로 변경이 가능하다.

즉, 이것은 실행 중 데이터의 삽입/수정/삭제에 대한 유연성이 높다는 장점이 있다.

3) Practice - list

4) Practice - 컬렉션 반복문

5) Practice - 정보 삭제

사용 방법 및 메서드 정리

//객체 생성(List는 인터레이스이므로 상속한 자식 클래스로 객체를 생성해야 한다.)

ArrayList<String> 객체명 = new ArrayList<String>();

객체명.add("123"); //마지막에 데이터 추가

객체명.add(index위치, "abc"); //해당 인덱스 위치에 데이터를 삽입(중간삽입)

객체명.set(index위치, "234"); //해당 인덱스의 값 수정

객체명.get(index위치); //해당 인덱스의 값 읽기

객체명.remove(index위치); //해당 인덱스의 값 삭제

객체명.size(); //컬렉션의 요소 개수 확인

객체명.clear(); //모든 데이터 삭제

객체명.toString(); //컬레션의 값을 문자열로 출력

일찍 나는 새가 벌레를 잡는 법이다.

'IT Study > 따즈아 Java & Java 기초' 카테고리의 다른 글

Java - 프로그램/스레드/파일 입출력  (0) 2022.12.25
Java - Set/Map  (1) 2022.12.25
Java - math/Calender/Date  (0) 2022.12.25
Java - object/string 클래스  (0) 2022.12.25
Java - 인터페이스, static  (0) 2022.12.25

댓글