我知道我应该学习如何用 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 版本,这是我的最终目标。
就是这样了; 给你们的另一个随机“挑战”。