[JAVA] 자바의 자료구조

2023. 11. 27. 16:21·JAVA

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

 

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

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);

 

저작자표시 (새창열림)

'JAVA' 카테고리의 다른 글

[JAVA] Class  (0) 2024.03.25
[JAVA] 예외 발생 Exception 및 그 밖의 Exception 종류 및 예시  (1) 2024.01.10
[JAVA] JDK와 JRE  (0) 2023.11.16
[JAVA] pom.xml에 의존성(라이브러리) 추가 방법  (0) 2023.11.04
[JAVA] MAVEN과 GRADLE  (0) 2023.11.04
'JAVA' 카테고리의 다른 글
  • [JAVA] Class
  • [JAVA] 예외 발생 Exception 및 그 밖의 Exception 종류 및 예시
  • [JAVA] JDK와 JRE
  • [JAVA] pom.xml에 의존성(라이브러리) 추가 방법
kwh_coding
kwh_coding
성장하는 괴물 성괴 김우형
  • kwh_coding
    코딩 일기
    kwh_coding
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • ERP Project
      • NAVER CLOUD Web DevOps
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
  • 블로그 메뉴

    • 홈
    • GitHub
    • Notion
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    정보처리기사
    node
    코딩테스트
    javascript
    RDBMS
    CORS
    html
    github
    Postman
    Java
    SQLD
    해시 암호화
    AdSP
    brycpt
    js
    eGov
    React
    web
    gitbash
    Python
    코딩
    private network
    spring
    git
    프로그래머스
    annotation
    코테
    django
    Tomcat
    jsp
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kwh_coding
[JAVA] 자바의 자료구조
상단으로

티스토리툴바