Programming/Java 2

[JAVA] 스트림(Stream) 개념

스트림이란?자바 8 API에 새로 추가된 기능으로, 스트림을 사용하면 선언형(데이터를 처리하는 임시 구현 코드 대신 질의로 표현)으로 컬렉션 데이터를 처리할 수 있다. 또한, 스트림을 이용하면 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있다. 스트림이 어떤 유용한 기능을 제공하는지 확인하기 위해 저칼로리의 요리명을 반환하고, 칼로리를 기준으로 요리를 정렬하는 자바 7 코드를 자바 8의 스트림을 이용해 다시 구현해본다. 자바 7 코드List lowCaloricDishes = new ArrayList(); for (Dish d : dishes) { if (d.getCalories() lowCaloricDishesNames = new ArrayList(); Co..

Programming/Java 2024.06.27

[JAVA] 람다식(Lambda)에 대해 알아보자

개인적으로 람다 표현식에 대한 지식이 부족하다 생각했는데, 이번 기회를 통해 제대로 개념을 잡고 넘어가는 게 좋겠다는 생각이 들었다. 따라서, 이번 글에서는 자바 8부터 등장한 람다 표현식이 무엇인지, 람다 표현식을 어떻게 만들고 사용하는지 등에 대해 알아보도록 한다. 람다란 무엇인가람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있다. 람다 표현식에는 이름은 없지만, 파라미터 리스트, 바디, 반환 형식, 발생할 수 있는 예외 리스트를 가질 수 있다. 람다의 특징익명보통의 메서드와 달리 이름이 없으므로 익명이라 표현한다. 구현해야 할 코드에 대한 걱정거리가 줄어든다.함수람다는 다른 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만, 메서드처럼 파라미터 리스트..

Programming/Java 2024.06.27