[Java] util 패키지 훑어보기

SlowAnd·2024년 1월 12일
0

Today I Learned Java

목록 보기
7/8
post-thumbnail

코딩하다가 특정 필요한 기능이 있어서 구글 검색을 해봤더니, 자바 유틸 클래스에서 지원하는 기능이였다.
자바 유티클래스를 전부 알 순 없지만, 패키지별로 대충 어떤 기능들을 지원하는지 알아 놓으면 나중에 검색하기 쉬울 것 같아서 패키지를 훑어보게 됐다.


Java 외부 라이브러리는 다양한 기능들이 있다.
그 중 util 패키지를 잠깐 훑어 봤다.

Java가 지원하는 다양한 기능

util패키지

util의 패키지는 다음과 같다

concurrent

멀티스레딩 및 병렬 프로그래밍 지원

  • 주요 클래스
    ExecutorService, Executors: 스레드 풀 관리.
    ConcurrentHashMap, CopyOnWriteArrayList: 스레드 안전한 컬렉션.
    Future, Callable: 비동기 연산 결과를 처리.
    CountDownLatch, CyclicBarrier, Semaphore: 동시성을 위한 동기화 도구.

function

함수형 프로그래밍 지원

  • 주요 인터페이스
    Function, BiFunction: 일반적인 함수를 나타냄.
    Predicate: 조건문(논리) 표현.
    Consumer, BiConsumer: 입력을 받고 반환하지 않는 연산.
    Supplier: 특정 타입의 결과를 제공.

jar

JAR 파일 작업 지원

  • 주요 클래스:
    JarFile, JarEntry: JAR 파일과 그 내용을 읽는데 사용.

random

난수 생성 지원

  • 주요 클래스:
    Random: 다양한 유형의 난수 생성.
    ThreadLocalRandom: 현재 스레드에 대한 난수 생성기.

regex

정규 표현식을 통한 문자열 처리

  • 주요 클래스:
    Pattern, Matcher: 정규 표현식 컴파일 및 문자열 매칭.

spi

서비스 제공자 인터페이스

  • 주요 사용: 주로 Java 플랫폼 내부에서 사용되며, 사용자 정의 서비스 제공자를 등록하고 사용할 수 있도록 함.

stream

스트림 API를 통한 컬렉션 처리

  • 주요 클래스:
    Stream, IntStream, LongStream, DoubleStream: 다양한 유형의 스트림을 처리.
    Collectors: 스트림의 결과를 다양한 형태로 수집.

zip

압축 파일 처리

  • 주요 클래스:
    ZipFile, ZipEntry: ZIP 파일 읽기.
    ZipOutputStream, ZipInputStream: ZIP 파일 작성 및 추출.

그외..

  • (기본 java.util 패키지에는 Collections, Arrays, Objects 등의 다양한 유틸리티 클래스가 포함되어 있습니다. 이 클래스들은 일반적인 컬렉션 작업, 배열 조작, 객체 비교 등을 용이하게 합니다.)

0개의 댓글