[기본형 변수 vs 참조형 변수]
- 기본형 변수는 '소문자로 시작함' 반면, 참조형 변수는 '대문자로 시작함'
# Wrapper class에서 기본형 변수를 감싸줄 때(boxing),int -> Integer - 기본형 변수는 값 자체를 저장, 참조형 변수는 별도의 공간에 값을 저장 후 그 주소를 저장함(= 주소형 변수)
char 보다 String 을 훨씬 더 많이 사용, Wrapper class도 상당히 비슷
이유는?
기본형 변수가 가지고 있는 기능이 제한적, 다양한 기능을 제공하는 Wrapper로 감싸서, 추가기능을 더 함
Collection - List
Java에서 배열을 더 고도화 시켜 Collection 이라는 이름으로 자료구조를 다룰 수 있는 기능을 제공하는 데 그것을 알아보았다.
- ArrayList - 순서가 있는 데이터 집합이며, 길이없이 만들 수 있는 동적배열
- LinkedList - 기본적으로는 Array와 같은 기능을 하지만 메모리에 남는 공간에 요청을 해 여기저기 나누어 실제 값을 넣는다.
- Set - 순서가 보장되지 않는 대신 중복을 허용하지 않음
- Queue - 들어온 순서대로 나가는 First-In-First-Out 구조
- Stack - 마지막에 들어온 것이 처음으로 나가는 Last-In-First-Out 구조
- Map - Key 와 Value 값 형태로 이루어진 데이터 구조
Collection 들의 장단점을 정리해보았다. 이걸 항상 기억해두고 자료구조를 만들 때 어떤 것이 적합할 지 연습이 많이 필요할 것 같다.
자료구조 | 특징 | 장점 | 단점 |
ArrayList | 동적 배열 | 빠른 조회 | 중간 추가 / 삭제 느림 |
LinkedList | 동적 배열 | 빠른 추가 / 삭제 | 느린 조회 |
Set | 중복이 없음 | 중복 방지 | 순서가 랜덤 |
Queue | 선입선출 (FIFO) | 순서대로 처리 | 중간 데이터 접근 어려움 |
Stack | 후입선출 (LIFO) | 역순 처리 | 중간 데이터 접근 어려움 |
Map | 키-값 데이터 구조 | 유일한 키값으로 관리 용이 빠른 조회 |
키-값 관계를 명확하게 해줘야 됌 |
사용할 수 있는 함수가 굉장히 많지만 필요하면 나중에 찾아보고 자주 쓸 것 같은 함수 리스트는 정리해봤다.
자료구조 | |||
ArrayList | size(): 길이 확인 isEmpty(): 비어있는지 확인 clear: 모든 요소 제거 |
add(): 요소를 리스트 끝에 추가 remove(): 요소를 제거 get(): 인덱스 요소 반환 contains(): 요소가 있는지 확인 |
set(index, 요소): 요소 수정 add(Index, 요소) |
LinkedList | |||
Set | |||
Queue | add() remove() |
peek(): 첫 번째 요소를 반환 poll(): 첫 번째 요소를 반환하고 제거 |
|
Stack | push(): 맨 위에 요소 추가 pop(): 맨 위 요소를 반환하고 제거 peek(): 맨 위 요소를 반환 |
||
Map | get(key) remove(key) |
put(key, value): 키-값 추가 keySet(): 모든 키를 반환 values(): 모든 값을 반환 |
'개발 > 내일배움캠프 TIL' 카테고리의 다른 글
[TIL #13] Enum 타입 적용한 계산기 트러블 슈팅 2 (0) | 2024.11.14 |
---|---|
[TIL #12] 클래스를 적용한 계산기 트러블 슈팅 및 해결 1 (2) | 2024.11.12 |
[TIL #10] 향상된 for문 (0) | 2024.11.11 |
[TIL #8] 1주차 미니 프로젝트를 마치며 (0) | 2024.11.08 |
[TIL #7] Java에 대해 알아보기 (0) | 2024.11.06 |