Java

📌 JAVA 자바/📚 모던 자바 인 액션

📚 04 - 스트림

스트림은 중첩된 제어흐름문장을 줄일 수 있고, 람다식과 함께 사용하여 컬렉션에 들어있는 데이터에 대한 처리를 매우 간결한 표현으로 작성할 수 있다. 또한 내부 반복자를 사용하기 때문에 병렬처리가 쉬운데, 이는 아래에 상세 풀이하도록 하겠다. 🔽 스트림에 더 자세한 내용은 아래 링크에 포스팅했다 ! https://soooving.tistory.com/entry/JAVA-8-Stream-정리 스트림 우선 스트림을 사용하지 않은 코드와, 사용한 코드를 비교하여 보겠다. // 🔽 Stream 을 사용하지 않은 코드 ArrayList list = new ArrayList(Arrays.asList("a", "b", "c")); for (String value : list) { if (StringUtils.equal..

📌 JAVA 자바/📚 모던 자바 인 액션

📚 03 - 자바 함수 ( 코드 넘겨주기 )

이번에는 함수에 코드를 인자로 넘기는 것과 메서드 전달에서 람다로 변경하는 내용을 예시를 들어 설명할 것이다. 코드넘겨주기 Apple 클래스와 getColor 메서드가 있고, Apples 리스트를 포함하는 변수 inventory가 있다고 가정하자. 이때 모든 녹색 사과를 선택해서 리스트를 반환하는 프로그램을 구현하려 한다. 이처럼 특정 항목을 선택해서 반환하는 동작을 필터 Filter 라고 한다. JAVA 8 이전에는 다음처럼 filterGreenApples 라는 메서드를 구현했을 것이다. public static List filterGreenApples(List inventory) { List result = new ArrayList(); for (Apple apple : inventory) { if ..

📌 JAVA 자바/📚 모던 자바 인 액션

📚 02 - 자바 함수 ( 메서드와 람다 )

자바함수 프로그래밍 언어에서 함수 라는 용어는 메서드 특히 정적 메서드와 같은 의미로 사용된다. 자바의 함수는 이에 더해 수학적인 함수처럼 사용되며 부작용을 일으키지 않는 함수를 의미한다. 자바 8에서는 함수를 새로운 값의 형식으로 추가했다. 이는 다음에 포스팅할 스트림 Stream 과 연계될 수 있도록 함수를 만들었기 때문이다. 먼저 함수를 값처럼 취급한다고 했는데 이 특징이 어떤 장점을 제공하는지 살펴보자. 자바 프로그램에서 조작할 수 있는 값을 생각해보자. 첫번째로 int_42, double_3.14 등의 기본값이 있다. 두번째로 객체도 값이다. new 또는 팩토리 메서드 또는 라이브러리 함수를 이용해서 객체의 값을 얻을 수 있다. 객체 참조는 클래스의 인스턴스를 가리킨다. 예를 들어 String_..

📌 JAVA 자바/📚 모던 자바 인 액션

📚 01 - JAVA 8 설계의 밑바탕을 이루는 세가지 프로그래밍 개념

JAVA 8 의 프로그래밍 개념 2014년도에 나온 JAVA 8의 프로그래밍 개념은 아래와 같이 크게 3가지로 나뉜다 스트림 처리 Stream Processiog 코드 일부를 API로 전달 병렬성 각 개념에 대한 상세 내용은 아래에 간략하게 풀어놓았다 1. 스트림 처리 Stream Processiog 스트림 Stream 은 한번에 한개씩 만들어지는 연속적인 데이터 항목들의 모임이다. JAVA8 에는 java.util.stream 패키지에 Stream API가 추가되었다. Stream API 의 핵심 : 기존에는 한번에 한 항목을 처리했으나 데이터베이스 질의처럼 고수준으로 추상화하여 일련의 스트림으로 만들어 처리할 수 있다. 또한 스트림 파이프라인을 이용해서 입력 부분을 여러 CPU 코어에 쉽게 할당할 수..

📌 JAVA 자바/📚 모던 자바 인 액션

📚 00 - JAVA 8 이전 개념_제네릭 Generics

제네릭 Generics 필요성 제네릭이란 JDK 1.5부터 도입한 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법이다. // List interface public interface List extends Collection { ... } public static void main(String[] args) { List words = new ArrayList(); } 우리는 이미 제네릭을 자주 사용하고 있다. 그렇다면 제네릭을 왜 사용할까? 간단한 예제를 통해 알아보자. public static void main(String[] args) { List numbers = Arrays.asList(1, 2, 3, 4, 5, 6); int sum = 0; for (Object number : nu..

슈콩
'Java' 태그의 글 목록