LinkedHashMap 位置翻转
时间: 2023-10-26 10:27:53 浏览: 113
LinkedHashMap
你可以使用 LinkedHashMap 类的 reverse 方法来翻转位置。这个方法会将该映射中的所有键值对按照反向顺序重新排列。
下面是一个示例代码:
```java
import java.util.LinkedHashMap;
public class Main {
public static void main(String[] args) {
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
System.out.println("原始 LinkedHashMap: " + map);
LinkedHashMap<String, Integer> reversedMap = new LinkedHashMap<>();
map.entrySet().stream()
.sorted(java.util.Collections.reverseOrder(java.util.Map.Entry.comparingByKey()))
.forEachOrdered(entry -> reversedMap.put(entry.getKey(), entry.getValue()));
System.out.println("翻转后的 LinkedHashMap: " + reversedMap);
}
}
```
上述代码首先创建了一个 LinkedHashMap 对象,并向其中添加了三个键值对。然后通过使用 Java 8 的 Stream API,借助 `sorted` 方法和 `comparingByKey` 方法按照键的反向顺序对键值对进行排序。最后,将排序后的键值对逐个放入新的 LinkedHashMap 中。输出结果将显示原始 LinkedHashMap 和翻转后的 LinkedHashMap。
请注意,LinkedHashMap 是有序的,但是翻转位置后的顺序是根据键进行翻转的,而不是值。
阅读全文