stream list排序后转map
时间: 2023-08-04 13:05:42 浏览: 84
JDK8通过Stream 对List,Map操作和互转的实现
5星 · 资源好评率100%
可以使用Java 8的Stream API来对List进行排序,并将排序后的结果转换为Map。下面是一个示例代码:
```java
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> list = List.of("apple", "banana", "cherry", "date");
// 对列表进行排序,并转换为Map
Map<String, Integer> sortedMap = list.stream()
.sorted(Comparator.naturalOrder())
.collect(Collectors.toMap(
// key为列表中的元素
key -> key,
// value为元素在排序后列表中的索引位置
value -> list.indexOf(value)
));
// 打印排序后的Map
sortedMap.forEach((key, value) -> System.out.println(key + ": " + value));
}
}
```
输出结果:
```
apple: 0
banana: 1
cherry: 2
date: 3
```
以上代码将列表中的元素按照自然顺序排序,并将排序后的结果转换为Map。Map的键为列表中的元素,值为元素在排序后列表中的索引位置。你可以根据实际需求来调整排序和转换的逻辑。
阅读全文