Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] Stream을 이용하여 List를 Map으로 변환하는 방법 본문
Java에서는 Stream API를 이용하여 간결하고 효율적으로 List를 Map으로 변환할 수 있습니다. 이번에는 Stream을 이용한 여러 가지 예제를 살펴보겠습니다.
1. List를 Map으로 변환하는 기본적인 방법
가장 기본적인 방법은 Stream의 `collect` 메서드를 사용하여 List의 각 요소를 Map의 키-값으로 추가하는 것입니다.
import java.util.*;
import java.util.stream.*;
public class ListToMapExample {
public static void main(String[] args) {
List list = Arrays.asList("A", "B", "C");
Map map = list.stream()
.collect(Collectors.toMap(item -> item, String::length));
System.out.println("Map: " + map); // 출력 결과: Map: {A=1, B=1, C=1}
}
}
2. List의 인덱스를 키로 사용하는 방법
List의 각 요소와 인덱스를 사용하여 Map을 생성하는 예제입니다.
import java.util.*;
import java.util.stream.*;
public class ListToMapExample {
public static void main(String[] args) {
List list = Arrays.asList("Apple", "Banana", "Cherry");
Map map = IntStream.range(0, list.size())
.boxed()
.collect(Collectors.toMap(i -> i, list::get));
System.out.println("Map: " + map); // 출력 결과: Map: {0=Apple, 1=Banana, 2=Cherry}
}
}
3. List의 요소를 값으로 설정하는 방법
List의 각 요소를 Map의 값으로 설정하는 예제입니다.
import java.util.*;
import java.util.stream.*;
public class ListToMapExample {
public static void main(String[] args) {
List list = Arrays.asList("Dog", "Cat", "Bird");
Map map = IntStream.range(0, list.size())
.boxed()
.collect(Collectors.toMap(Function.identity(), list::get));
System.out.println("Map: " + map); // 출력 결과: Map: {0=Dog, 1=Cat, 2=Bird}
}
}
4. List의 길이를 값으로 설정하는 방법
List의 각 요소의 길이를 Map의 값으로 설정하는 예제입니다.
import java.util.*;
import java.util.stream.*;
public class ListToMapExample {
public static void main(String[] args) {
List list = Arrays.asList("Apple", "Banana", "Orange");
Map map = list.stream()
.collect(Collectors.toMap(Function.identity(), String::length));
System.out.println("Map: " + map); // 출력 결과: Map: {Apple=5, Banana=6, Orange=6}
}
}
5. List의 요소를 특정 값으로 설정하는 방법
List의 각 요소를 특정 값으로 설정하여 Map을 생성하는 예제입니다.
import java.util.*;
import java.util.stream.*;
public class ListToMapExample {
public static void main(String[] args) {
List list = Arrays.asList("One", "Two", "Three");
Map map = list.stream()
.collect(Collectors.toMap(Function.identity(), s -> s.length() * 2));
System.out.println("Map: " + map); // 출력 결과: Map: {One=6, Two=6, Three=10}
}
}
6. List를 키와 값으로 사용하는 방법
List를 키와 값으로 사용하여 Map을 생성하는 예제입니다.
import java.util.*;
import java.util.stream.*;
public class ListToMapExample {
public static void main(String[] args) {
List keys = Arrays.asList("key1", "key2", "key3");
List values = Arrays.asList("value1", "value2", "value3");
Map map = IntStream.range(0, keys.size())
.boxed()
.collect(Collectors.toMap(keys::get, values::get));
System.out.println("Map: " + map); // 출력 결과: Map: {key1=value1, key2=value2, key3=value3}
}
}
위 예제들을 통해 Stream을 이용하여 List를 Map으로 변환하는 다양한 방법을 살펴보았습니다. 이를 통해 데이터를 보다 효율적으로 관리할 수 있게 됩니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] Stream으로 데이터 정렬하여 LinkedHashMap에 저장하기 (0) | 2024.03.15 |
---|---|
[Java/자바] Stream으로 중복 데이터 문제 해결하며 List를 Map으로 변환하는 방법 (0) | 2024.03.15 |
[Java/자바] List를 Map으로 변환하는 방법 (0) | 2024.03.15 |
[Java/자바] Interface: 인터페이스란? (0) | 2024.03.14 |
REST API: Representational State Transfer 란? (0) | 2024.03.14 |