Java List<Double> 排序代码
时间: 2023-03-06 20:38:24 浏览: 66
可以使用Collections.sort()方法来排序List<Double>,具体代码如下:List<Double> list = new ArrayList<Double>();
//填入要排序的数据
Collections.sort(list);
相关问题
Map<List<Node>,Map<Double,LinkedList<Node>>>对于该集合如何实现依据double降序存储
要实现对于Map<Double,LinkedList<Node>>按照double降序存储,可以使用TreeMap来代替Map。TreeMap是一个有序的键值对集合,它根据键的自然顺序进行排序,或者使用自定义的Comparator进行排序。
在这种情况下,可以使用TreeMap<Double,LinkedList<Node>>来存储数据。当插入数据时,可以通过传入一个自定义的Comparator来实现按照double降序排序。
以下是示例代码:
```java
Map<List<Node>, TreeMap<Double, LinkedList<Node>>> map = new HashMap<>();
Comparator<Double> descendingOrder = (a, b) -> Double.compare(b, a);
TreeMap<Double, LinkedList<Node>> treeMap = new TreeMap<>(descendingOrder);
// 向treeMap中插入数据
treeMap.put(1.5, new LinkedList<>());
treeMap.put(3.2, new LinkedList<>());
treeMap.put(2.7, new LinkedList<>());
// 将treeMap放入map中
map.put(new ArrayList<>(), treeMap);
```
这样,map中的treeMap将会按照double降序存储。
List<HashMap<String,Double>> 排序
要对 List<HashMap<String, Double>> 进行排序,可以使用 Java 8 的 Stream API 和 Lambda 表达式来实现。以下是一个示例代码,假设我们要按照 HashMap 中的 Double 值进行排序:
```
listOfMaps.stream()
.sorted((map1, map2) -> {
Double val1 = map1.get("key");
Double val2 = map2.get("key");
return val2.compareTo(val1);
})
.collect(Collectors.toList());
```
这段代码首先将 List 转换为 Stream,然后使用 sorted 方法对 Stream 进行排序。在 sorted 方法中,我们使用 Lambda 表达式来定义比较器,即根据每个 HashMap 中的 "key" 对应的 Double 值进行比较。最后,使用 collect 方法将排序后的结果转换为 List。