lambda

    Java :: 람다와 스트림 (2/2)

    Java :: 람다와 스트림 (2/2)

    남궁성 저자의 Java의 정석 3판 스터디 스트림이란 ? 많은 수의 데이터를 다룰 때, 컬렉션이나 배열에 데이터를 담고, for 문이나 Iterator 를 이용해 코드를 작성했었다. 하지만 이런 방식의 코드는 너무 길고 가독성이 떨어진다. (재사용성도) 또 다른 문제는 데이터 소스마다 다른 방식으로 다뤄야한다는 것이다. 예를들어 List 를 정렬할 때는 Collections.sort() 를 사용해야 하고, 배열을 정렬할 때는 Arrays.sort() 를 사용해야 한다. 이런 문제점들을 해결하기 위해서 만든 것이 스트림(stream) 이다 ! 스트림은 데이터 소스를 추상화하고, 데이터를 다루는데 자주 사용되는 메소드들을 정의해놓았다. 데이터 소스가 무엇이던 같은 방식으로 다룰 수 있게 되었고, 코드의 재사..

    Java :: 람다와 스트림 (1/2)

    Java :: 람다와 스트림 (1/2)

    남궁성 저자의 Java의 정석 3판 스터디 자바는 자바8 (JDK1.8) 에서 람다식이 추가되면서 객체지향언어인 동시에 함수형 언어가 되었다. 람다식에 대해 알아보자 😊 람다식이란 ? 람다식은 간단히 말해 method 를 하나의 식(expression)으로 표현한 것이다. method 를 람다식으로 표현하면 method의 이름과 반환값이 사라지므로, 람다식을 익명함수(anonymous function) 이라고도 한다. int[] arr = new int[5]; Arrays.setAll(arr, (i) -> (int)(Math.random() * 5) + 1); // 위 람다식을 method 로 표현하면 아래와 같다. int method() { return (int)(Math.random() * 5) + ..