toz*_*han 8 java android arraylist
我需要创建一个记录两列{int,String}的List.我认为ArrayList是我需要的,但我无法理解它.我从数据库中提取了字符串,而int是我需要识别字符串位置以供日后使用的索引值.
List<List<String>> strArray = ArrayList<List<String>>;
然后我可以为我从数据库中提取的每一行执行类似strArray.add().add()的操作吗?
The*_*111 16
另一种方法是制作一个自定义对象:
Class CustomObject {
int value1;
String value2;
CustomObject(int v1, String v2) {
value1 = v1;
value2 = v2;
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用它:
List<CustomObject> myList = new ArrayList<CustomObject>();
CustomObject o1 = new CustomObject(1, "one");
myList.add(o1);
// etc.
Run Code Online (Sandbox Code Playgroud)
如果int值是唯一的并且您想要考虑它们的密钥,那么a Map将像其他人建议的那样工作.
Abu*_*kar 15
我认为如果你的值是唯一的,你应该使用HashMapwith int作为键和String值int.
Map<Integer,String> myMap = new HashMap<Integer,String>();
myMap.put(1,"ABC");
Run Code Online (Sandbox Code Playgroud)
请注意,由于Map集合和java集合不存储原语int,因此它们存储对象,因此您必须Integer为int值使用包装类.
请参阅此链接为什么Java Collections不能直接存储Primitives类型?
如果您只需要两个值,您可以使用本机Pair类
List<Pair> mPairs = new ArrayList<Pair>();
Pair pair = new Pair(123,"your string");
mPairs.add(pair);
Run Code Online (Sandbox Code Playgroud)
如果您的 int 值不是唯一的,因此您不能使用 HashMap,这将是一个很好的决定
| 归档时间: |
|
| 查看次数: |
57516 次 |
| 最近记录: |