분류 전체보기 (129) 썸네일형 리스트형 [JAVA] 스트림 (Stream) - 중간 연산 스트림(Stream)이란? 스트림은 '데이터의 흐름'입니다. 배열 또는 컬렉션 인스턴스에 함수 여러 개를 조합해서 원하는 결과를 필터링하고 가공된 결과를 얻을 수 있습니다. 또한 이전에 배웠던 람다를 이용하여 코드의 양을 줄여 간결하게 표현할 수 있습니다. 즉, 배열과 컬렉션을 함수형으로 처리할 수 있습니다. 또한 간단하게 병렬처리(multi-threading)가 가능하다는 장점이 있습니다. 이 말은 즉, 스레드를 이용해 많은 요소들을 빠르게 처리할 수 있습니다. 스트림에 대한 내용은 크게 3가지로 나눌 수 있습니다. 생성 중간연산 최종연산 이번 글은 이 세 가지 내용 중 중간연산에 대한 내용을 다뤄보고자 합니다. 중간연산 전체 요소 중에서 다음과 같은 api를 사용해 내가 원하는 것만 뽑을 수 있습니다.. [JAVA] 스트림 (Stream) - 생성 스트림(Stream)이란? 스트림은 '데이터의 흐름'입니다. 배열 또는 컬렉션 인스턴스에 함수 여러 개를 조합해서 원하는 결과를 필터링하고 가공된 결과를 얻을 수 있습니다. 또한 이전에 배웠던 람다를 이용하여 코드의 양을 줄여 간결하게 표현할 수 있습니다. 즉, 배열과 컬렉션을 함수형으로 처리할 수 있습니다. 또한 간단하게 병렬처리(multi-threading)가 가능하다는 장점이 있습니다. 이 말은 즉, 스레드를 이용해 많은 요소들을 빠르게 처리할 수 있습니다. 스트림에 대한 내용은 크게 3가지로 나눌 수 있습니다. 생성 중간연산 최종연산 이번 글은 이 세 가지 내용 중 생성에 대한 내용을 다뤄보고자 합니다. 생성하기 스트림을 이용하기 위해서는 먼저 생성을 하여야 합니다. 보통 스트림은 배열과 컬렉션을.. [JAVA] 람다 (Lambda) 람다란? 람다식(Lambda Expression)은 함수형 프로그래밍 기법을 지원하는 자바의 문법입니다. 람다식은 코드를 매우 간결하면서도 명확하게 표현할 수 있다는 장점이 있습니다. 람다식의 기본 문법 람다는 간단히 말해 메서드를 하나의 식으로 표현한 것입니다. 아래의 예제 코드를 보도록 하겠습니다 // 메서드 int main(int x, int y) { return x x < y ? x : y; 위의 예제를 보면 메서드를 람다로 표현한 모습을 볼 수 있습니다. 보시는 바와 같이 클래스를 작성하고 객체를 생성하지 않아도 메서드를 사용할 수 있는 모습을 볼 수 있습니다. 그런데 자바에서는 클래스의 선언과 동시에 객체를 생성하므로, 단 하나의 .. [JAVA] 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy) 얕은 복사 객체를 복사할 때, 해당 객체만 복사하여 새 객체를 생성한다. 복사된 객체의 인스턴스 변수는 원본 객체의 인스턴스 변수와 같은 메모리 주소를 참조한다. 따라서, 해당 메모리에 저장된 값이 변경되면 원본 객체 및 복사 객체의 인스턴스 변수의 값이 함께 변경된다. (원본 객체로부터 종속적인 객체) class Copy{ private String name; public Copy(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } } public class Main { public static void main(Strin.. [JAVA] 싱글턴 패턴(Singleton pattern) 싱글턴(Singleton pattern) 이란? 싱글턴(Singleton) 패턴은 하나의 객체만을 생성할 수 있는 클래스를 말합니다. 이를 사용해 객체의 유일성을 보장할 수 있습니다. 그렇다면 객체의 유일성을 어떻게 보장할 수 있을까요? 아래의 코드 예제를 보도록 하겠습니다. public class Singleton { public static final Singleton instance = new Singleton(); } 위의 코드 예제를 보면 정적(static) 변수를 사용한 것을 볼 수 있습니다. 정적 변수는 독립적인 저장 공간을 가지는 인스턴스와 다르게 공통된 저장 공간을 가집니다. 즉, 한 클래스로부터 생성되는 모든 인스턴스들이 값을 공유하게 됩니다. 이는 이전 글인 클래스와 메서드에 자세히 .. [JAVA] 한글 깨짐 & error unmappable character (0xEB) for encoding x-windows-949 에러 해결 build 할 때 한글이 깨지며 unmappable character (0xEC) for encodig x-windows-949 에러가 발생할 때 해결하는 방법에 대해 소개하도록 하겠습니다. 1. Global Encoding 확인 file -> settings -> file encodings -> Global Encodingdl UTF-8로 되어있는지 확인. 2. Dfile.encoding = UTF-8 추가 help -> Edit custom vm option -> -Dfile.encoding=UTF-8 추가 3. Build and run using 확인 setting -> Build, Execution, Deployment -> Build Tools -> Gradle -> build and run u.. [JAVA] 어노테이션 (Annotation) 어노테이션이란? 어노테이션(Annotation)은 사전적으로는 "주석"이라는 의미를 가지고 있습니다. 자바에서는 @를 이용하여 주석처럼 달아 특수한 의미를 부여해줍니다. 어노테이션은 소스 코드가 컴파일되거나 실행될 때 컴파일러 및 다른 프로그램에게 필요한 정보를 전달해 주는 문법 요소입니다. 어노테이션의 종류 JDK에서 기본적으로 제공하는 어노테이션은 아래의 두 가지로 분류됩니다. 표준 어노테이션: 자바에서 기본적으로 제공하는 어노테이션 메타 어노테이션: 다른 어노테이션에서도 사용되는 어노테이션을 말하며, custom-annotation을 생성할 때 주로 사용 표준 어노테이션 표준 어노테이션은 자바에서 기본적으로 제공하는 어노테이션입니다. 표준 어노테이션을 여러 가지가 있지만, 그중에서도 @Overrid.. [JAVA] 컬렉션 프레임워크(Collection Framework) - Iterator (6) Iterator 인터페이스 Collection 인터페이스에서는 Iterator 인터페이스를 구현한 클래스의 인스턴스를 반환하는 iterator() 메서드를 정의하여 각 요소에 접근하도록 하고 있습니다. 예제 코드를 통해 확인해 보도록 하겠습니다. import java.util.Iterator; import java.util.LinkedList; public class Main { public static void main(String[] args) { LinkedList lnkList = new LinkedList(); lnkList.add(4); lnkList.add(2); lnkList.add(3); lnkList.add(1); Iterator iter = lnkList.iterator(); whil.. 이전 1 ··· 10 11 12 13 14 15 16 17 다음