소소한개발팁
반응형
Project Jigsaw 사용 방법
컴퓨터 언어/Java 2023. 7. 9. 15:35

모듈 선언 파일(module-info.java) 작성 // 모듈 선언 파일 (module-info.java) module com.example.mymodule { requires com.example.dependencymodule; // 다른 모듈에 대한 의존성 선언 exports com.example.mymodule.package1; // 다른 모듈에 공개할 패키지 선언 exports com.example.mymodule.package2; exports com.example.mymodule.package3 to com.example.othermodule; // 특정 모듈에만 패키지 공개 } 모듈 내의 패키지 및 클래스 작성 // 패키지 1 package com.example.mymodule.packag..

article thumbnail
Stream
컴퓨터 언어/Java 2023. 7. 6. 13:18

Stream 연속된 요소 시퀀스: 스트림은 연속된 요소들의 시퀀스로 이루어져 있습니다. 이를 통해 스트림을 이용하여 데이터의 연산과 처리를 연속적으로 수행할 수 있습니다. 내부 반복: 스트림은 내부 반복(Internal iteration)을 사용하여 요소들을 처리합니다. 내부 반복은 스트림 자체에서 요소들을 처리하는 방식으로, 개발자는 명시적인 반복문을 작성할 필요 없이 스트림의 메서드를 사용하여 요소들을 처리할 수 있습니다. 게으른 실행: 스트림은 게으른 실행(Lazy evaluation)을 지원합니다. 이는 스트림의 연산이 실제로 필요한 시점까지 실행되지 않음을 의미합니다. 즉, 스트림은 연산을 지연시키고 필요한 요소만 처리함으로써 효율적인 처리를 가능하게 합니다. 파이프라인 연산: 스트림은 파이프라..

article thumbnail
Sliding Window 알고리즘
컴퓨터 언어/Java 2023. 4. 27. 16:12

슬라이딩 윈도우 알고리즘은 일반적으로 연속된 부분 배열(또는 문자열)의 최대/최소 값을 찾는 데 사용됩니다. 이 알고리즘의 기본 아이디어는 매번 모든 값의 합계나 곱을 계산하는 것이 아니라, 이전 연속된 부분 배열의 합계나 곱에서 현재 값과 이전 값의 차이만 계산하여 계산량을 줄이는 것입니다. public static int maxSumSubarray(int[] arr, int k) { int n = arr.length; int maxSum = Integer.MIN_VALUE; int windowSum = 0; // 슬라이딩 윈도우 시작 for (int i = 0; i < n - k + 1; i++) { // 현재 윈도우의 합을 계산 for (int j = i; j < i + k; j++) { windo..

article thumbnail
BFS(너비 우선 탐색) 알고리즘
컴퓨터 언어/Java 2023. 4. 27. 15:57

import java.util.LinkedList; import java.util.Queue; public class BFSAlgorithm { static class Node { int data; Node left, right; Node(int data) { this.data = data; left = null; right = null; } } static void BFS(Node root) { Queue queue = new LinkedList(); queue.add(root); while (!queue.isEmpty()) { Node node = queue.poll(); System.out.print(node.data + " "); if (node.left != null) { queue.add(no..

Queue (큐)
컴퓨터 언어/Java 2023. 4. 27. 15:35

큐(Queue)는 선입선출(First-In-First-Out, FIFO) 원칙에 따라 작동하는 자료 구조입니다. 즉, 큐에 추가된 요소 중 가장 먼저 추가된 것이 가장 먼저 제거됩니다. Java에서는 내장 Queue 인터페이스를 사용할 수 있습니다. Queue 인터페이스는 Collection 인터페이스의 하위 인터페이스로, 큐에 요소를 추가, 제거 및 검사하는 데 사용할 수 있는 여러 가지 메소드를 제공합니다. import java.util.LinkedList; import java.util.Queue; public class QueueExample { public static void main(String[] args) { Queue queue = new LinkedList(); // 큐 요소 추가 q..

반응형