C++의 STL 같은 개념

 

자바 표준 라이브러리(Java Standard Library) 구조

자바 라이브러리는 크게 다음 패키지들로 구성됨:

java.lang 기본 클래스, 자동 import
java.util ArrayList, Map, Set, Arrays 등 자료구조
java.io 입력/출력 처리
java.time 날짜, 시간
java.math 큰 수 계산
java.util.concurrent 스레드(초반에는 선택)

 

1. java.lang — 기본 클래스(자동 import)

별도 import 없이 기본으로 제공되는 핵심 클래스들

String 문자열
StringBuilder, StringBuffer 문자열 조작(append 등)
Math 수학 함수
Object 모든 클래스의 부모
System 입출력(System.out) 등
Integer, Double 등 Wrapper 클래스
Runtime JVM 제어

 

2. java.util — 자료구조 & 유틸

ArrayList 동적 배열 (vector 같은 느낌)
LinkedList 연결 리스트
HashMap key-value 저장, 가장 많이 사용
TreeMap key 정렬되는 Map
HashSet 중복 없는 집합
TreeSet 정렬되는 Set
Stack 스택
Queue (LinkedList)
PriorityQueue 힙 (우선순위 큐)
Arrays 배열 도우미 클래스 (sort 등)
Collections 컬렉션 관련 정적 메소드 (sort, shuffle 등)

 

3. java.io — 입출력 스트림

파일 읽기/쓰기, 바이트/문자 스트림 기반

  • File
  • FileInputStream, FileOutputStream
  • BufferedReader, BufferedWriter
  • InputStreamReader
  • PrintWriter

 

 4. java.nio — 고성능 I/O

  • 고성능 파일/네트워크 I/O
  • Files, Paths
  • ByteBuffer

파일 읽기 예:

String text = Files.readString(Path.of("file.txt"));

 

 

5. java.time — 날짜/시간(필수)

Java 8 이후 표준

  • LocalDate
  • LocalTime
  • LocalDateTime
  • Duration
  • Period
  • DateTimeFormatter

예시:

LocalDateTime now = LocalDateTime.now();

 

 

6. java.math — 큰 정수/정확한 연산

BigInteger 무한 정수 (큰 수 연산)
BigDecimal 정밀한 소수 계산 (금융 등)

 

예:

BigInteger big = new BigInteger("12345678901234567890");

 

 

 7. java.net — 네트워크 프로그래밍

  • URL
  • URLConnection
  • Socket
  • ServerSocket

 

8. java.util.concurrent — 멀티스레딩/동시성

  • ExecutorService
  • ThreadPoolExecutor
  • Future
  • CountDownLatch
  • ConcurrentHashMap

 

9. java.text — 포맷팅/파싱

  • DecimalFormat
  • NumberFormat
  • SimpleDateFormat

+ Recent posts