gpt4 book ai didi

java - 我可以用ArrayList填充LinkedHashMap吗

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

我的问题是我可以使用 ArrayList 元素填充 LinkedHashmap 吗?

因为每次它都会抛出IndexOutOfBoundsException。下面是我的代码,

 ArrayList<String> contactsArray = new ArrayList<String>();
ArrayList<String> numbersArray = new ArrayList<String>();
linkedMap = new ArrayList<LinkedHashMap<String, String>>();
linked = new LinkedHashMap<String, String>();
int x = contactsArray.size();
if (contactsArray.size() > 0) {
for (int i = 0; i < x - 1; i++) {
linked.put("1", contactsArray.get(i));
linked.put("2", numbersArray.get(i));
}
linkedMap.add(linked);
}else{
msg("0");
}

日志猫:

 02-27 11:05:24.859: E/AndroidRuntime(3223): Caused by:
java.lang.IndexOutOfBoundsException: Invalid index 4, size is 4

最佳答案

您正在使用 contactsArray 进行迭代并从 numbersArray 获取值。这是 buggy 。您应该更改代码以检查两个数组对象上的索引。然后,从它们中检索值。仅当两个集合具有相同数量的值时,上述代码才有效。正如blackbelt所说,当达到任何集合的最后一个索引时,您需要有一个退出循环的条件,以避免异常。另一种巧妙的方法是在 for 循环中更改您的条件测试,如下所示

 for (int i = 0; i < contactsArray.size() && i < numbersArray.size(); i++) {

关于java - 我可以用ArrayList填充LinkedHashMap吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22064144/

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