gpt4 book ai didi

java - 二维数组列表

转载 作者:搜寻专家 更新时间:2023-11-01 03:59:04 25 4
gpt4 key购买 nike

只是一个非常小的问题...我似乎在这里遇到了太多的复杂性:我必须实现一个像 {42, someString} 这样的索引结构。我试过:

Object entry[][] = new Object[1][1];
ArrayList<Object> my_list = new ArrayList<Object>();

然而,这看起来真的很奇怪。难道没有更好更简单的解决方案来存储一些 Integer 和 String 吗?我需要执行搜索字符串并返回整数...所以我认为 Collections 和 ArrayLists 在 Java API 中是好 friend 。

最佳答案

解决方案:使用 map

嗯,你需要一个 Map 吗? ?

Map<String,Integer> map = new HashMap<String,Integer>();
map.put("Some String", 42);
// or, more correctly:
map.put("Some String", Integer.valueOf(42));

你可以用它来搜索

Integer result = map.get("Some String");

引用: Sun Java Tutorial > Collection Trail > Interfaces > The Map Interface


修复 OP 的代码

顺便说一句,问题中的代码有缺陷。如果你想使用对象数组列表(你不应该这样做),你可以这样做:

// single dimension, not multi-dimension
Object[] entry = new Object[]{"Some String",Integer.valueOf(42)};
// use interface as variable, not implementation type
// generic type is object array, not object
List<Object[]> myList = new ArrayList<Object[]>();
// add array to list
myList.add(entry);

现在你可以像这样搜索:

for(final Object[] candidate : myList){
if("Some String".equals(candidate[0])){
System.out.println("Result: " + candidate[1]);
break;
}
}

不过,仅供引用,切勿如此操作。 Collections Framework 包含几乎所有标准案例的解决方案。使用 map 。

关于java - 二维数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4693997/

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