Post

[Java] 자주 쓰이는 표준 라이브러리

java

java.util.Arrays

정적 크기 배열

  • 데이터 저장과 검색 기능 외에 데이터 조작 기능(삽입, 삭제 등)은 없음
  • 기본 타입(int, double, char 등)과 객체 타입 모두 저장 가능
1
import java.util.Arrays;
  • Arrays.sort(array): 배열을 오름차순으로 정렬
  • Arrays.copyOf(array, length): 배열의 특정 길이만큼을 복사하여 새 배열을 반환
  • Arrays.equals(array1, array2): 두 배열이 동일한지 확인(동일한 순서의 동일한 요소)

java.util.ArrayList

동적 크기 배열

  • 데이터 추가, 삭제, 검색 등 다양한 메서드
  • 객체 타입의 데이터만 저장 가능, 기본 타입 데이터를 저장하려면 래퍼 클래스(Integer, Double, Character 등)를 사용해야 함.
1
import java.util.ArrayList;
  • add(element): 리스트의 끝에 요소를 추가
  • get(index): 리스트에서 지정된 위치의 요소를 반환
  • set(index, newValue): 지정된 위치의 요소를 바꿈
  • remove(index): 지정된 위치의 요소를 제거하고, 그 요소를 반환
  • size(): 리스트의 요소 수를 반환

java.util.HashMap

키-값 쌍으로 데이터를 저장하는 해시 테이블

1
2
3
import java.util.HashMap;

HashMap<String, Integer> clothes = new HashMap<>();
  • put(key, value): 맵에 키-값 쌍을 추가. 이미 존재하는 키에 값을 넣으면, 해당 키의 값이 업데이트
  • get(key): 지정된 키에 대응하는 값을 반환, 키가 맵에 없는 경우 null을 반환
  • getOrDefault(key, 0): 지정된 키에 대응하는 값을 반환, 키가 맵에 없는 경우 0을 반환
  • containsKey(key): 맵이 지정된 키를 포함하고 있는지 여부를 반환
  • remove(key): 지정된 키를 가진 요소를 맵에서 제거하고, 그 값을 반환

java.util.HashSet

중복을 허용하지 않는 집합

1
import java.util.HashSet;
  • add(element): 집합에 요소를 추가. 요소가 이미 존재하는 경우 추가하지 않음
  • remove(element): 지정된 요소를 집합에서 제거
  • contains(element): 집합이 특정 요소를 포함하고 있는지 확인
  • size(): 집합의 요소 수를 반환

java.util.LinkedList

연결 리스트

  • 연결 리스트의 구현으로, ArrayList에 비해 요소의 추가와 삭제가 빠름
1
import java.util.LinkedList;
  • add(element), get(index), remove(index), size() 메소드를 사용할 수 있으며, ArrayList와 유사한 방식으로 동작

java.util.Queue

  • Stack 클래스는 Vector 클래스를 확장하여 스택을 구현한 것이기 때문에 직접적으로 인스턴스화할 수 있다. 그러나 Queue 인터페이스는 인스턴스화할 수 없다. Queue 인터페이스는 다양한 구현 클래스를 가질 수 있으며, 이를 사용하여 객체를 생성해야 한다. Queue 인터페이스를 구현한 클래스로는 LinkedList, PriorityQueue 등이 있다.
1
2
3
4
import java.util.Queue;
import java.util.LinkedList;

Queue<Integer> queue = new LinkedList<>();
  • offer(element): 요소를 큐에 추가
  • poll(): 큐의 헤드를 제거하고 반환
  • peek(): 큐의 헤드를 반환하지만 제거하지는 않음
  • isEmpty()

java.util.PriorityQueue

우선순위 큐

  • 자연 순서 또는 Comparator를 통해 요소의 우선순위 결정
1
2
3
import java.util.PriorityQueue;

Queue<Integer> queue = new PriorityQueue<>();

java.util.Stack

스택

1
2
3
import java.util.Stack;

Stack<Character> stack = new Stack<>();
  • push(element): 요소를 스택의 꼭대기에 추가
  • pop(): 스택의 꼭대기에 있는 요소를 제거하고 그 요소를 반환
  • peek(): 스택의 꼭대기에 있는 요소를 반환하지만, 제거하지는 않음
  • isEmpty(): 스택이 비어있는지 여부를 반환

java.util.Collections

  • 다양한 Collection 클래스에 대한 알고리즘과 유틸리티 메소드를 제공
    • Collection 인터페이스: 다른 여러 컬렉션 인터페이스의 최상위 인터페이스로, 공통적인 컬렉션 작업(예: 추가, 삭제, 크기 조회 등)을 정의
    • List 인터페이스: 순서가 지정된 컬렉션으로, 중복된 요소를 허용. ArrayList, LinkedList 등이 해당
    • Set 인터페이스: 중복을 허용하지 않는 컬렉션. HashSet, TreeSet 등이 해당
    • Map 인터페이스: 키-값 쌍으로 데이터를 저장하는 구조. 컬렉션 인터페이스는 아니지만 컬렉션 프레임워크의 일부로 취급. HashMap, TreeMap 등이 해당
1
import java.util.Collections;
  • sort(list): 리스트를 오름차순으로 정렬
  • reverse(list): 리스트의 요소 순서를 역순으로 바꿈
  • shuffle(list): 리스트의 요소 순서를 임의로 섞음
  • min(collection), max(collection): 컬렉션에서 최소값 또는 최대값을 가진 요소를 반환
This post is licensed under CC BY 4.0 by the author.