본문 바로가기

Java

(24)
[Java] LocalDateTime 정리 LocalDateTime이란?자바에서 날짜와 시간을 함께 표현하기 위해 사용하는 클래스입니다. LocalDateTime 특징날짜(년, 월, 일), 시간(시, 분, 초, 나노초)을 포함하지만 시간대(TimeZone)을 포함하지 않습니다.즉 정리하자면 LocalDateTime은 시간대를 포함하지 않기 때문에, 현재 실행 중인 시스템의 로컬 시간 기준으로 동작합니다.※ 만약 시간대를 한국이 아닌 다른 시간대로 하고 싶다면 LocalDateTime.now(ZoneId.of("Asia/Seoul")); 으로 작성하시면 됩니다. 출력 형태2025-05-09T14:30:00 주요 메서드 및 사용법// 현재 날짜와 시간LocalDateTime now = LocalDateTime.now();// 특정 날짜와 시간 지..
[Java] BigInteger란? 사용법 BigInteger란?BigInteger는 자바에서 제공하는 클래스 중 하나로, 기본 정수형 int와 long의 범위를 넘어서는 정수를 표현할 수 있는 자료형입니다. BigInteger는 java.math 패키지에 포함되어 있으며, 매우 큰 정수뿐만 아니라 부동소수점 오차를 처리하는 데에도 유용하게 사용될 수 있습니다.  언제 사용할까?범위 확장 : long 자료형으로 표현할 수 없는 큰 수를 다룰 수 있습니다. (long의 최대값은 9223372036854775807)부동소수점 오차 처리 : 실수 연산에서 발생하는 부동소수점 오차를 해결하기 위해 BigDecimal과 함께 사용되는 경우가 많습니다. BidDecimal은 고정 소수점 연산을 하여 부동소수점 오류를 방지할 수 있습니다. 사용 예제impor..
[Java] Queue 구현 Queue를 잘 모르신다면 여기를 클릭해주세요.  구현하는 Queue 기능offer(element) -> 뒤에 요소 추가poll() -> 앞에 요소 추출 후 반환peek() -> 앞에 요소 반환size() -> 크기 반환isEmpty() -> 비어있는지 true/false 반환clear() -> queue 비우기 Queue 구현하기(Linked List)혹시 기능만 보고 구현하시고 싶으신 분을 위해 숨김으로 하겠습니다.더보기더보기package util;import java.util.NoSuchElementException;public class Queue { Node head; Node tail; int size; public Queue() { size = 0; }..
[Java] Deque 구현 Deque를 잘 모르신다면 여기를 눌러주세요.  구현하는 Deque 기능pushFront(element) → 앞쪽에 요소 추가 pushBack(element) → 뒷쪽에 요소 추가popFront() → 앞쪽 원소 제거 및 반환popBack() → 뒷쪽 원소 제거 및 반환peekFront() → 앞쪽 원소 확인(제거하지 않음)peekBack() → 뒷쪽 원소 확인(제거하지 않음)isEmpty() → 비어 있는지 확인(true/false) Deque 구현하기(Linked List)혹시 기능만 보고 구현하시고 싶으신 분을 위해 숨김으로 하겠습니다.더보기더보기public class Deque { private Node front; private Node back; private int size;..
[Java] Stack 구현하기 Stack에 대해서 잘 모르신다면 여기를 클릭해주세요 구현하는 Stack 기능 push(data) → 스택의 맨 위에 요소 추가pop() → 스택의 맨 위 요소 제거 및 반환 (비어있으면 예외 처리)peek() → 스택의 맨 위 요소 확인 (제거하지 않음)isEmpty() → 스택이 비어있는지 확인size() → 현재 스택에 있는 요소 개수 반환clear() → 스택의 모든 요소 제거contains(data) → 특정 값이 스택에 존재하는지 확인  혹시 기능만 보고 구현하시고 싶으신 분을 위해 숨김으로 하겠습니다.더보기package util.stack;import java.util.EmptyStackException;import java.lang.reflect.Array;public class Stack..
[Java] 실행 시간 측정 코드 실행 시간 측정 방법코드를 작성할 때 시간 복잡도를 고려하는 것이 중요합니다. 하지만 O(n) 같은 개념적인 복잡도뿐만 아니라, 실제 실행 시간을 측정하는 것도 필요합니다. 이를 위해 정확한 실행 시간을 측정하는 방법을 정리해 보았습니다.  1. System.currentTimeMillis() , System.nanoTime()public class Main { static final long COUNT = 100_000_000; public static void main(String[] args) { // 시작 시간 측정 long startTime = System.currentTimeMillis(); long startNanoTime = System..
[Java] SinglyLinkedList 구현 LinkedList란?LinkedList는 배열과 달리 데이터를 저장하는 선형 자료구조입니다. 각 요소(노드)는 데이터와 다음 노드를 가리키는 포인터(주소)를 포함하고 있으며, 자바의 LinkedList는 이중 연결 리스트(doubly linked list)로 구현되어 각 노드가 이전 노드와 다음 노드의 주소를 모두 저장합니다.노드들은 동적으로 메모리가 할당되며, 연속적인 메모리 주소를 가지지 않습니다. LinkedList의 특징동적 크기 조절LinkedList는 배열과 달리 크기를 미리 지정할 필요가 없습니다. 노드가 추가되거나 삭제될 때 메모리를 동적으로 할당하거나 해제합니다.순차적 접근각 노드는 연결된 다음 노드의 주소를 통해 접근하기 때문에, 특정 위치의 데이터를 찾으려면 시작 노드부터 순차적으로..
[Java] 객체 null 체크 Objects.isNull(), obj == null 스프링 강의를 보던 중 Objects.isNull()을 사용하여 null을 체크하는 것을 보고 뭔지 싶어서 정리를 했습니다. Objects.isNull()이란?해당 객체의 값이 null인지 확인하고 null이면 true를 null이 아니면 false를 반환합니다.public class Main { public static void main(String[] args) throws IOException { Integer n1 = null; Integer n2 = 10; System.out.println(Objects.isNull(n1)); System.out.println(Objects.isNull(n2)); }}  obj == null 과 차..