获取LinkedHashMap的中间值
时间: 2023-07-27 07:13:22 浏览: 107
LinkedHashMap是有序的HashMap,如果我们想获取它的中间值,可以按照以下步骤:
1. 获取LinkedHashMap的所有values,并将其存储在一个List中。
2. 对这个List进行排序。
3. 计算List的中间索引位置,如果List的大小为奇数,则中间值为List.get(List.size()/2),如果List的大小为偶数,则中间值为(List.get(List.size()/2-1) + List.get(List.size()/2))/2。
下面是一个示例代码:
```java
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("A", 3);
map.put("B", 2);
map.put("C", 1);
map.put("D", 4);
map.put("E", 5);
List<Integer> values = new ArrayList<>(map.values());
Collections.sort(values);
int middleIndex = values.size() / 2;
if (values.size() % 2 == 0) {
int middleValue1 = values.get(middleIndex - 1);
int middleValue2 = values.get(middleIndex);
int middleValue = (middleValue1 + middleValue2) / 2;
System.out.println("中间值为:" + middleValue);
} else {
int middleValue = values.get(middleIndex);
System.out.println("中间值为:" + middleValue);
}
```
输出结果为:中间值为:3。
阅读全文