Java (23) 썸네일형 리스트형 [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 과 차.. [Java] 동등성 (equals(), hashCode()) 자바에서 동등성(equality)을 보장하는 equals()와 hashCode()가 존재합니다.이 두 메소드는 Object 클래스에서 기본적으로 제공을 하며 객체의 동등성 비교를 할 수 있습니다. equals()두 객체의 참조 동등성(reference equality)을 검사합니다.두 객체가 같은 메모리 주소를 가리키고 있는지 확인을 하며 같다면 true 다르다면 false를 반환하게 됩니다.Object obj1 = new Object();Object obj2 = new Object();System.out.println(obj.equals(obj2)); // false 사실 저는 실제 값이 같아야 equals가 true 일 줄 알았지만 실제로는 같은 주소인지를 확인하는 것이였습니다.이유는 equals를 .. 이전 1 2 3 다음 목록 더보기