根据"子元素"查找ArrayList元素的最有效方法是什么?
例如,我有一个名为test的ArrayList,它由以下数组组成:
{a,first}
{b, second}
{c, third}
{d, fourth}
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个方法,以便我可以找到每个子元素的第二个元素(字符串数组).我的方法是这样的:
public static String getElement(String key, ArrayList<String[]> haystack)
Run Code Online (Sandbox Code Playgroud)
所以调用方法
getElement("a", test)
Run Code Online (Sandbox Code Playgroud)
将返回String"first".我知道我可以遍历整个阵列并找到它,但我想知道是否会有更有效的方法.谢谢
我想你可能正在寻找Map实现.
如果没有,你的选择是强制它,这意味着你必须扫描元素列表,然后查看数组中的第一个元素,如果它相等,则返回第二个元素.
for ( String[] a : haystack ) {
if ( key.equals(a[0])
return a[1];
}
Run Code Online (Sandbox Code Playgroud)
编辑 -
您可以通过遍历它来获取arraylist并将其转换为地图.这只有在给你一次ArrayList并且你必须重复执行"get"操作时才有用.
Map<String, String> myMap = new HashMap<String, String>();
for ( String[] a : haystack )
myMap.put(a[0] , a[1]);
Run Code Online (Sandbox Code Playgroud)
一旦你完成了,你就可以打电话
myMap.get(key);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2441 次 |
| 最近记录: |