Java

· Java
🖥️ 1. Java에서의 Deque 소개Deque는 "double ended queue"의 약자로, 양쪽 끝에서 요소를 추가하거나 제거할 수 있는 선형 컬렉션입니다. Java에서는 Deque 인터페이스를 통해 이 구조를 정의하고 있으며, 이는 java.util 패키지 안에 위치해 있습니다.기본 작동 원리Deque 인터페이스는 요소를 두 개의 끝에 추가하거나 제거할 수 있게 해주므로, 스택이나 큐의 기능을 모두 구현할 수 있습니다. 이러한 특성 덕분에 매우 유연한 데이터 구조로서 다양한 상황에서 활용될 수 있습니다.스택처럼 사용할 때는 push(), pop(), peek() 메서드를 사용하고,큐처럼 사용할 때는 addLast(), removeFirst(), peekFirst() 등을 사용합니다.추가 메소..
· Java
💡 자바에서 serialVersionUID 사용 이유와 예시 자바 직렬화에서 중요한 역할을 하는 serialVersionUID에 대해 알아보겠습니다. 자바 직렬화는 객체를 바이트 스트림으로 변환하는 과정이며, 이는 객체를 파일, 데이터베이스, 메모리 등에 저장하거나 네트워크를 통해 객체를 전송할 때 필요합니다. serialVersionUID는 직렬화된 객체를 역직렬화할 때 클래스의 버전을 확인하는 데 사용되는 고유 식별자입니다. 📌 serialVersionUID란? serialVersionUID는 직렬화된 객체가 클래스의 버전과 호환되는지 확인하기 위해 사용되는 고유한 버전 번호입니다. 클래스가 Serializable 인터페이스를 구현하면, JVM은 해당 클래스에 대한 serialVersionUID 값을..
· 알고리즘
🔐 문제 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다. 큐는 먼저 집어넣은 원소가 먼저 나오는 구조입니다. 이 문제에서는 큐를 배열로 표현하며, 원소가 배열 앞쪽에 있을수록 먼저 집어넣은 원소임을 의미합니다. 즉, pop을 하면 배열의 첫 번째 원소가 추출되며, insert를 하면 배열의 끝에 원소가 추가됩니다. 예를 들어 큐 [1, 2, 3, 4]가 주어졌을 때, pop을 하면 맨 앞에 있는 원소 1이 추출되어 [2, 3, 4..
· 알고리즘
package com.lth.algorithm.programmers; import java.util.Arrays; import java.util.Comparator; public class Sort { public static void main(String[] args) { Sort sort = new Sort(); System.out.println(sort.solution(new int[]{300,30030030, 12, 4, 647467454, 2222, 2, 0, 260})); } // 길이가 같을 경우 그냥 비교한다. // 길이가 다를경우 맨 가장 앞부터 하나씩 비교 // 끝까지 비교했는데 같은값이 나올경우 짧은 문자열의 길이만큼 긴 문자열을 자른 후 비교 // 위의 과정을 계속 반복 // 만약 ..
· Java
Java에서 엑셀 업로드 기능을 구현하려면 Apache POI 라이브러리를 사용할 수 있습니다. POI는 Microsoft Office 파일 형식 (예: XLSX, XLS)을 조작하기 위한 Java 라이브러리입니다. 다음은 POI를 사용하여 Java에서 엑셀 업로드 기능을 구현하는 방법입니다. 0. POI 라이브러리를 다운로드하고 프로젝트에 추가합니다. POI는 Maven 또는 Gradle과 같은 의존성 관리 도구를 사용하여 프로젝트에 추가할 수 있습니다. org.apache.poi poi 5.0.0 위 의존성은 POI 라이브러리의 메인 모듈인 poi를 추가하는 것입니다. 만약 필요한 경우, 추가적인 모듈도 의존성에 추가할 수 있습니다. 예를 들어, .xlsx 파일을 처리하기 위해서는 poi-ooxml ..
· Java
JAVA Generic(제네릭)에대해 알아보던 중 Generic에 넣을 수 있는 타입과 그렇지 못한 타입이 있다는것을 알게되어 정리를 해보려고 한다. Generic에대해 궁금하다면 아래의 링크 클릭 Primative Type는 말 그대로 자바에서 기본으로 제공해 주고있는 타입이다. 기본형 타입(Primitive type) 총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다. 기본값이 있기 때문에 Null이 존재하지 않는다. 만약 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용한다. 실제 값을 저장하는 공간으로 스택(Stack)메모리에 저장된다. 만약 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다. 주로 문법상의 에러가 많다. 예를..
TeaHuiLee
'Java' 태그의 글 목록