백엔드 엔지니어링/Spring Boot

[Java]Collection?

혜이드 2025. 8. 15. 13:58

 

 

 

1.Java의 Collection은?

쉽게 말해 선배 개발자들이 만들어 둔 자료구조,알고리즘 Framework!

 

2.왜 쓸까?

상황에 맞는 자료구조를 선택하려고!

 

상황에 맞는 자료구조가 뭔데? 상황을 설정해보자. 

 

Q.음악 재생 목록(Playlist)인데 나는,마음대로 곡을 추가하고 삭제할 것이다. (순서를 자유롭게 변경..) 
그렇다면 배열일까? 리스트일까 ? 

참고)

배열
:인덱스 참조 가능 
:메모리 순차 저장 
:크기 고정

리스트
:인덱스 참조 불가
:길이 가변 

A.
리스트
: 사용자가 마음대로 곡을 추가/삭제하는 플레이리스트라면 리스트가 더 적합하다.

설계할 때 가변성이 있고,없고에 따라서 배열과 리스트 중 선택해서 코드를 짜야겠지.
가변성 있는 것을 배열로 설계하면 추후..곤란해질 것이다.왜냐면 곡 삽입과 삭제시,
뒤쪽 순서의 것들을 다 밀어버리는.... 노고가 들어가기 때문에

 

 

 

 

그래서 collections은 다양한 자료구조를 미리 구현해놓고 우리가 가져다 쓸 수 있게 해준다.


 

3.자바 컬렉션은 아래와 같이 많은 종류로 이루어져있다. 

SET,LIST,QUEUE,,,그 외.. 

출처:위키피디아

 

 

4. 그 중에서도 가장 중요한 것은?

 

1. 리스트

2. Map

 

요렇게 두개이다 . 여러가지 값을 크기조절 가능하게 꿰어놓은 리스트와,

 Key-value쌍으로 데이터를 저장하는 자료구조로ㅡkey값으로 빠르게 value를 조회할 수 있는 map!

 

참고)Map 코드

Map<Integer, String> member = new HashMap<>();
member.put(1, "홍길동");
member.put(2, "이순신");

System.out.println(member.get(1)); // 홍길동

 

 

key :1 value: 홍길동이기에 

1번값으로 조회하면 홍길동이 나온다 ~

 

 

 

 

'백엔드 엔지니어링 > Spring Boot' 카테고리의 다른 글

[Java] 객체 생성은 어디서 해요?  (6) 2025.08.16
[Spring Boot 기초]JVM이란?  (6) 2025.08.15