gpt4 book ai didi

java - 如何在 Java 中从 LinkedHashMap 获取单独的数据

转载 作者:行者123 更新时间:2023-12-02 03:49:56 24 4
gpt4 key购买 nike

我用过LinkedHashMap<String, Double> 。我想从中获取单独的值。如果是Array我们可以使用.get[2] , .get[5]等等取第二个和第五个值。但对于LinkedHashMap<String, Double>怎么做。我使用了以下代码。但它打印 LinkedHashMap<String, Double> 中包含的所有值。我需要单独采取。

    Set set = mylist.entrySet();
Iterator i = set.iterator();

while(i.hasNext()) {
Map.Entry me1 = (Map.Entry)i.next();
System.out.print(me1.getKey());
System.out.println(me1.getValue());

最佳答案

您可以使用LinkedHashMap#get(Object key)方法

这将返回与关键参数对应的值。由于您的 key 是 String,因此您无法使用 int 来检索它们。

<小时/>

示例

如果您的LinkedHashMap包含["key", 2.5],则调用

System.out.println(lnkHashMap.get("key"));

将打印

2.5
<小时/>

添加

如果您使用 ,有一个使用 Stream 对象的解决方法。

Double result = hashmap.values()
.stream()
.skip(2)
.findFirst()
.get();

这将跳过前两个值并直接到达第三个值并返回它。

如果没有,这里有一个解决方案

public <T> T getValueByIndex (Map<? extends Object, T> map, int index){
Iterator<T> it = map.values().iterator();
T temp = null;
for (int i = 0 ; i < index ; i++){
if (it.hasNext()){
temp = it.next();
} else {
throw new IndexOutOfBoundsException();
}
}
return temp;
}

关于java - 如何在 Java 中从 LinkedHashMap<String, Double> 获取单独的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35969224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com