我知道我应该学习如何使用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 keys = hashTarget.keySet();
Collection values = hashTarget.values();
for (int i = 0; i < hashTarget.size(); i++) {
L.add(keys);
L.add(values);
}
return L;
}
如您所见,我尝试实现自己的“ items()”方法,但不幸失败了.由于Java本身没有元组,这真的让我的脑子弄乱了:).我无法像Python那样精美地插入键和值.因此,我无法创建该“ decodeL”函数的Java版本,这是我的最终目标.
就是这样了;你们的另一个随机的“挑战”.