Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Java/자바] Stream으로 데이터 정렬하여 LinkedHashMap에 저장하기 본문
LinkedHashMap은 입력된 순서를 보장하는 Map으로, Stream에서 데이터를 정렬하여 LinkedHashMap에 저장하면 정렬된 순서가 유지됩니다. 아래 예제들을 통해 Stream 데이터를 정렬하고 LinkedHashMap에 저장하는 방법을 알아보겠습니다.
1. 정수형 데이터를 정렬하여 LinkedHashMap에 저장하기
먼저 정수형 데이터를 정렬하여 LinkedHashMap에 저장하는 예제를 살펴보겠습니다.
import java.util.*;
import java.util.stream.*;
public class StreamToLinkedHashMapExample {
public static void main(String[] args) {
List list = Arrays.asList(3, 1, 2);
Map map = list.stream()
.sorted()
.collect(Collectors.toMap(
item -> item,
item -> item,
(existing, replacement) -> existing,
LinkedHashMap::new
));
System.out.println("Map: " + map); // 출력 결과: Map: {1=1, 2=2, 3=3}
}
}
2. 문자열 데이터를 정렬하여 LinkedHashMap에 저장하기
이번에는 문자열 데이터를 정렬하여 LinkedHashMap에 저장하는 예제입니다.
import java.util.*;
import java.util.stream.*;
public class StreamToLinkedHashMapExample {
public static void main(String[] args) {
List list = Arrays.asList("C", "A", "B");
Map map = list.stream()
.sorted()
.collect(Collectors.toMap(
item -> item,
item -> item.length(),
(existing, replacement) -> existing,
LinkedHashMap::new
));
System.out.println("Map: " + map); // 출력 결과: Map: {A=1, B=1, C=1}
}
}
3. 객체 데이터를 정렬하여 LinkedHashMap에 저장하기
마지막으로 객체 데이터를 정렬하여 LinkedHashMap에 저장하는 예제를 살펴보겠습니다.
import java.util.*;
import java.util.stream.*;
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 int getAge() {
return age;
}
}
public class StreamToLinkedHashMapExample {
public static void main(String[] args) {
List list = Arrays.asList(
new Person("Alice", 30),
new Person("Bob", 25),
new Person("Charlie", 35)
);
Map map = list.stream()
.sorted(Comparator.comparing(Person::getAge))
.collect(Collectors.toMap(
Person::getName,
Person::getAge,
(existing, replacement) -> existing,
LinkedHashMap::new
));
System.out.println("Map: " + map); // 출력 결과: Map: {Bob=25, Alice=30, Charlie=35}
}
}
위 예제들을 통해 Stream을 이용하여 데이터를 정렬하고 LinkedHashMap에 저장하는 방법을 살펴보았습니다. LinkedHashMap은 입력된 순서를 보장하므로 데이터를 정렬하여 저장할 때 유용하게 사용될 수 있습니다.
'프로그래밍' 카테고리의 다른 글
[Java/자바] Java에서 JSON 파싱하기: 가장 쉬운 방법 (0) | 2024.03.15 |
---|---|
[Java/자바] Jackson 라이브러리를 활용한 Java에서의 JSON 처리 방법 (0) | 2024.03.15 |
[Java/자바] Stream으로 중복 데이터 문제 해결하며 List를 Map으로 변환하는 방법 (0) | 2024.03.15 |
[Java/자바] Stream을 이용하여 List를 Map으로 변환하는 방법 (0) | 2024.03.15 |
[Java/자바] List를 Map으로 변환하는 방법 (0) | 2024.03.15 |