gpt4 book ai didi

java - 如何遍历成对的数组列表以检索指定键的值?

转载 作者:行者123 更新时间:2023-11-30 10:08:57 24 4
gpt4 key购买 nike

我一直在尝试用 Java 编写一个 Retrieve 函数,它接受一个键并从 Pairs 的数组列表中返回一个值。有什么建议么?

  ArrayList<Pair<K,V>> set_of_pairs = new ArrayList<Pair<K,V>>();
public void insert(K key, V value) {
Pair<K,V> pair = new Pair<K,V>(key,value);
set_of_pairs.add(pair);
}

public void traverse(Visitor<K,V> visitor) {
}

public V retrieve(K key) {
int i = 0;
if (set_of_pairs.containsKeys(key) == false) {
return null;
}
else {
for(Pair<K,V> set_of_pairs: pair) {
if (pair.getKey() == key) {
return pair.getValue();
}
}
}
}

最佳答案

您可以将 retrieve 方法的逻辑更正为:

public V retrieve(K key) {
// iterating on each element of the list would suffice to check if a key exists in the list
for (Pair<K, V> pair : set_of_pairs) { // iterating on list of 'Pair's
if (pair.getKey().equals(key)) { // 'equals' instead of ==
return pair.getValue();
}
}
return null;
}

此外,这可以简化为使用 的逻辑并按照 shmosel 的指示改编

public V retrieveUsingStreams(K key) {
return set_of_pairs.stream()
.filter(pair -> pair.getKey().equals(key)) // the 'if' check
.findFirst() // the 'return' in your iterations
.map(Pair::getValue) // value based on the return type
.orElse(null); // else returns null
}

关于java - 如何遍历成对的数组列表以检索指定键的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53531236/

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