我正在寻找一种方法,可以将这种方法从for循环更改为for循环,for循环通过ArrayList
更改为HashMap
。
public Card findCard(String cardName) {
assert cardName != null;
Card foundCard = null;
if (allKnownCardsMap.containsKey(cardName)) {
foundCard = allKnownCardsMap.get(cardName);
}
// for( Card cd :allKnownCards ) {
// if( cd.cardHasName( cardName ) ) {
// foundCard = cd ;
// }
// }
return foundCard;
}
注释掉的代码是原始代码,最上面的if语句是我创建的代码,但是我不知道为什么它没有给出相同的结果。
谢谢。
不确定上下文,因为您似乎已经在]中有了一些描述的Map>
allKnownCardsMap
。但是要将Arraylist转换为HashMap:
List<String> myList = new ArrayList<String>();
Map<Integer, String> myMap = new HashMap<Integer, String>();
myList.add("A");
myList.add("B");
for (int i = 0; i < aList.size(); i++) {
myMap.put(i + 1, aList.get(i));
}
[我假设allKnownCards是Card类型的列表,所以首先您需要将该列表更改为map,然后您可以执行任何map操作,因此您可以在此处执行类似操作