List<TBmwyResolvedevicedata> list = new ArrayList<>(); 转为map并根据key字符串大小升序
时间: 2024-03-03 11:53:36 浏览: 68
假设`TBmwyResolvedevicedata`类中有一个名为`key`的属性作为Map的key。
可以使用Java 8的Stream API和Comparator来实现:
```java
List<TBmwyResolvedevicedata> list = new ArrayList<>(); // 假设已经填充了一些TBmwyResolvedevicedata对象
Map<String, TBmwyResolvedevicedata> sortedMap = list.stream()
.sorted(Comparator.comparing(TBmwyResolvedevicedata::getKey))
.collect(Collectors.toMap(TBmwyResolvedevicedata::getKey, Function.identity(), (oldValue, newValue) -> oldValue, LinkedHashMap::new));
```
这里使用了`comparing`方法来创建一个按照key字符串大小进行升序排序的Comparator,使用`collect`方法将排序后的结果收集到一个LinkedHashMap中。需要注意的是,LinkedHashMap可以保持插入顺序,因此可以确保排序后的结果顺序正确。
其中,第一个参数`TBmwyResolvedevicedata::getKey`表示将`TBmwyResolvedevicedata`对象的`key`属性作为Map的key,第二个参数`Function.identity()`表示将`TBmwyResolvedevicedata`对象本身作为Map的value,第三个参数`(oldValue, newValue) -> oldValue`表示如果有重复的key,则保留旧的value,第四个参数`LinkedHashMap::new`表示创建一个LinkedHashMap对象来存储结果。
阅读全文