gpt4 book ai didi

java - HashMap value() 的问题

转载 作者:行者123 更新时间:2023-12-01 17:36:26 25 4
gpt4 key购买 nike

我制作瓷砖内存游戏。我希望当 Activity 开始时初始化带有图片的图 block 。我尝试这样做:

private void initTiles() {
// Store name of resources in array
String[] pictures = new String[] {"tile_circle", "tile_deny", "tile_heart"
, "tile_mail", "tile_music", "tile_pin", "tile_splash", "tile_yes"};
Random rand = new Random();

int i = 1;

while(i <= 16) {
String pic = pictures[rand.nextInt(8)];
LinkedList<String> list = new LinkedList<String>();

list = (LinkedList<String>) tilesMapping.values();

//Check if this picture is already loaded twice
if(list.indexOf(pic) == -1) {
tilesMapping.put(Integer.valueOf(i), pic);
i++;
} else if(list.lastIndexOf(pic) == -1) {
tilesMapping.put(Integer.valueOf(i), pic);
i++;
} else if(list.indexOf(pic) == list.lastIndexOf(pic)) {
tilesMapping.put(Integer.valueOf(i), pic);
i++;
}

}
}

但是当我开始游戏时,我收到强制关闭。但是当评论这一行list = (LinkedList<String>) tilesMapping.values();时比赛开始。

最佳答案

values() 返回一个 Collection,它不需要是 LinkedList,所以可能是一个 ClassCastException > 发生了。您可以使用复制构造函数获取链表:

List list = new LinkedList(map.values()); // or ArrayList`

关于java - HashMap value() 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769909/

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