java用stream流 map<string.Byte> 根据map的value排序
时间: 2024-02-27 10:58:52 浏览: 88
您可以使用Java 8中的Stream API来实现这个功能。具体步骤如下:
1.定义一个`Map<String, Byte>`,并初始化它。
2.使用`entrySet()`方法将Map转换为`Stream<Map.Entry<String, Byte>>`。
3.使用`sorted()`方法和一个lambda表达式来排序Stream,lambda表达式应按照value值进行排序。
4.使用`map()`方法将Stream中的元素映射为一个新的`Stream<String>`,其中每个元素为原Map中的key。
5.使用`forEach()`方法遍历Stream,输出每个key值。
示例代码如下:
```java
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Map<String, Byte> myMap = Map.of("hello", (byte) 3, "world", (byte) 2, "foo", (byte) 4, "bar", (byte) 1);
myMap.entrySet().stream()
.sorted(Map.Entry.comparingByValue())
.map(Map.Entry::getKey)
.forEach(System.out::println);
}
}
```
输出结果为:
```
bar
world
hello
foo
```
阅读全文