JAVA

[JAVA] 자바의 자료구조

kwh_coding 2023. 11. 27. 16:21

자료구조는 데이터를 저장하고 조직하는 방법을 나타내며, 각 자료구조는 특정한 상황에서 효과적으로 사용된다.

 

자바에서 주로 사용되는 몇 가지 자료구조와 예시로,

1. 배열 (Array):

배열은 동일한 데이터 타입의 요소들을 순차적으로 저장하는 자료구조이다.

// 정수형 배열 선언과 초기화
int[] numbers = {1, 2, 3, 4, 5};

// 배열 요소에 접근
int firstElement = numbers[0];

 

2. 리스트 (List):

리스트는 동적으로 크기가 조절되는 배열이라고 생각할 수 있으며, ArrayList는 배열 기반의 리스트입니다.

import java.util.ArrayList;
import java.util.List;

// 문자열을 저장하는 ArrayList 선언과 초기화
List<String> ex = new ArrayList<>();
ex.add("First");
ex.add("Second");

// 리스트 요소에 접근
String First = ex.get(0);

 

3. 큐 (Queue):

큐는 선입선출(FIFO, First-In-First-Out) 구조를 가지며, 주로 작업 대기열에서 사용된다.

import java.util.LinkedList;
import java.util.Queue;

// 정수형을 저장하는 큐 선언과 초기화
Queue<Integer> queue = new LinkedList<>();
queue.offer(1);
queue.offer(2);

// 큐에서 요소 추출
int first = queue.poll();

 

4. 스택 (Stack):

스택은 후입선출(LIFO, Last-In-First-Out) 구조를 가지며, 주로 역추적이나 괄호 검사 등에 사용된다.

import java.util.Stack;

// 문자열을 저장하는 스택 선언과 초기화
Stack<String> stack = new Stack<>();
stack.push("first");
stack.push("second");

// 스택에서 요소 추출
String Element = stack.pop();

 

 

5. 맵 (Map):

맵은 키-값 쌍을 저장하는 자료구조로, 각 키는 고유하며 값에 대응된다.

import java.util.HashMap;
import java.util.Map;

// 문자열을 키로 가지는 정수형 값을 저장하는 맵 선언과 초기화
Map<String, Integer> score = new HashMap<>();
score.put("co", 90);
score.put("ding", 85);

// 맵에서 값 가져오기
int aliceScore = score.get("co");

 

6. 집합 (Set):

집합은 중복을 허용하지 않는 값들의 모임이다.

import java.util.HashSet;
import java.util.Set;

// 정수형을 저장하는 집합 선언과 초기화
Set<Integer> Numbers = new HashSet<>();
Numbers.add(1);
Numbers.add(2);

// 집합에 값이 있는지 확인
boolean contain = Numbers.contains(2);