有没有一种方法可以在for循环中将ArrayList转换为HashMap并获得相同的输出?

问题描述 投票:0回答:2

我正在寻找一种方法,可以将这种方法从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语句是我创建的代码,但是我不知道为什么它没有给出相同的结果。

谢谢。

java loops dictionary for-loop hash
2个回答
0
投票

不确定上下文,因为您似乎已经在]中有了一些描述的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));
    }

0
投票

[我假设allKnownCards是Card类型的列表,所以首先您需要将该列表更改为map,然后您可以执行任何map操作,因此您可以在此处执行类似操作

© www.soinside.com 2019 - 2024. All rights reserved.