SeouliteLab

[Java/자바] 람다식과 map() 메서드 활용하기 본문

프로그래밍

[Java/자바] 람다식과 map() 메서드 활용하기

Seoulite Lab 2024. 3. 8. 09:27

자바에서는 람다식과 함께 map() 메서드를 사용하여 컬렉션의 각 요소를 변환할 수 있습니다. map() 메서드를 활용하면 간결하고 가독성 높은 코드를 작성할 수 있습니다. 아래에서는 람다식과 map() 메서드를 활용한 여러 예제를 살펴보겠습니다.

1. 리스트의 각 요소에 2를 곱하기

람다식과 map() 메서드를 사용하여 리스트의 각 요소에 2를 곱하는 예제입니다.

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class MapExample {
    public static void main(String[] args) {
        List numbers = Arrays.asList(1, 2, 3, 4, 5);

        // 각 요소에 2를 곱하기
        List result = numbers.stream()
                                      .map(num -> num * 2)
                                      .collect(Collectors.toList());

        System.out.println("각 요소에 2를 곱한 결과: " + result);
    }
}

2. 문자열 리스트의 각 요소를 대문자로 변환하기

람다식과 map() 메서드를 사용하여 문자열 리스트의 각 요소를 대문자로 변환하는 예제입니다.

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class MapExample {
    public static void main(String[] args) {
        List strings = Arrays.asList("apple", "banana", "orange", "kiwi");

        // 각 요소를 대문자로 변환하기
        List result = strings.stream()
                                     .map(String::toUpperCase)
                                     .collect(Collectors.toList());

        System.out.println("각 요소를 대문자로 변환한 결과: " + result);
    }
}

3. 객체 리스트의 각 요소를 특정 필드 값으로 변환하기

람다식과 map() 메서드를 사용하여 객체 리스트의 각 요소를 특정 필드 값으로 변환하는 예제입니다.

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }
}

public class MapExample {
    public static void main(String[] args) {
        List people = Arrays.asList(
                new Person("Alice", 25),
                new Person("Bob", 30),
                new Person("Charlie", 20)
        );

        // 각 요소의 이름 필드 값만 추출하기
        List names = people.stream()
                                   .map(Person::getName)
                                   .collect(Collectors.toList());

        System.out.println("각 요소의 이름 필드 값만 추출한 결과: " + names);
    }
}

4. 배열의 각 요소를 제곱하기

람다식과 map() 메서드를 사용하여 배열의 각 요소를 제곱하는 예제입니다.

import java.util.Arrays;

public class MapExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        // 각 요소를 제곱하기
        int[] result = Arrays.stream(numbers)
                            .map(num -> num * num)
                            .toArray();

        System.out.println("각 요소를 제곱한 결과: " + Arrays.toString(result));
    }
}

5. 스트림의 각 요소를 10을 더하기

람다식과 map() 메서드를 사용하여 스트림의 각 요소에 10을 더하는 예제입니다.

import java.util.Arrays;

public class MapExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        // 각 요소에 10을 더하기
        int[] result = Arrays.stream(numbers)
                            .map(num -> num + 10)
                            .toArray();

        System.out.println("각 요소에 10을 더한 결과: " + Arrays.toString(result));
    }
}

6. 스트림의 각 요소를 문자열로 변환하기

람다식과 map() 메서드를 사용하여 스트림의 각 요소를 문자열로 변환하는 예제입니다.

import java.util.Arrays;

public class MapExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3,

 4, 5};

        // 각 요소를 문자열로 변환하기
        String[] result = Arrays.stream(numbers)
                               .mapToObj(String::valueOf)
                               .toArray(String[]::new);

        System.out.println("각 요소를 문자열로 변환한 결과: " + Arrays.toString(result));
    }
}