gpt4 book ai didi

java - 如何为 Java HashMaps 模拟 Python dict "items()"方法?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:17 26 4
gpt4 key购买 nike

我知道我应该学习如何用 Java 高效编程,而不是认为它是 Python;但问题是,这种事情最终变成了 Java 中的一场小噩梦。

我在 Python 中有以下函数,它接受一个字符串作为参数:

def decodeL(input):
L = []
for i in range(len(input)):
for j in x.items(): // Where "x" is the Dictionary outside the function.
if input[i].lower() in j[0]:
L.append(j[1])
return L

忽略函数本身的功能,使它运行良好的是“items()”方法,它返回列表中的元组。如您所见,我使用这些访问其自身索引的元组。

在 Java 中这是一个非常不愉快的问题。

static ArrayList items(HashMap hashTarget) {
ArrayList L = new ArrayList();
Set<String> keys = hashTarget.keySet();
Collection<Object> values = hashTarget.values();

for (int i = 0; i < hashTarget.size(); i++) {
L.add(keys);
L.add(values);
}

return L;
}

如您所见,我尝试实现自己的“items()”方法,但惨遭失败;因为 Java 本身没有元组,这真的让我的大脑很困惑 :)。我不能像 Python 那样漂亮地插入键和值;因此,我无法创建那个“decodeL”函数的 Java 版本,这是我的最终目标。

所以,就是这样;给你们的另一个随机“挑战”。

最佳答案

Java 已经通过 Map.entrySet() 方法为您实现了这一点。

for(Map.Entry<K, V> j : x.entrySet()) {
V val = j.getValue(); // j[1]
K key = j.getKey(); // j[0]
}

关于java - 如何为 Java HashMaps 模拟 Python dict "items()"方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16348765/

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