【发布时间】:2016-02-21 18:45:42
【问题描述】:
我有一个数组列表Arraylist<String[]>,我正在尝试找到一种在String[] 的特定索引上查找特定值的快速方法。我的ArrayList 总是包含长度为 2 的String[]。我想做的是通过ArrayList 查找具有特定值的任何String[],即str[1]="value"。我知道我可以遍历ArrayList 获取每个元素(String[]),然后使用str[1].equals("value") 查找值,但我想知道是否有更快的方法可以使用contains() ArrayList 什么的。
谢谢
PS:我不知道我的数组的第一个元素 (str[0]) 的值,所以我无法构造一个新的 String[] 并检查 ArrayList 是否包含它
【问题讨论】:
-
尝试重新考虑您的数据结构以改进您尝试在同一数据上执行的操作
-
好吧,如果您的
String[]的长度只有2,而您将它们放入ArrayList,为什么不将所有这些都更改为Map<Key,Value>?我想这会解决你的问题 -
我想我应该这样做@3kings。但即使使用这种方法,我该怎么做呢?
ArrayList和Map都有办法查看内部是否有特定元素,但是我如何将它们组合起来而不必遍历ArrayList? -
顺便说一句,我使用
String[]而不是HashMap<String, String>的原因是因为我想要一个双向结构。在Map上,我无法使用值获取密钥 -
@Rakim 那为什么不把
value变成key呢?