首页 > 解决方案 > 将字符串与 arraylist 元素进行比较并获取另一个 arraylist 元素

问题描述

public ArrayList<String> endDuration(String searchedKey, ArrayList<ArrayList<String>> keys, ArrayList<ArrayList<String>> values) {
    for (int i = 0; i < keys.size() && i < values.size(); i++) {
        if (searchedKey.equals(keys.get(i))) {
            return values.get(i);
        }
    }
    return null;
}

我有两个列表都是字符串列表。我也有一个字符串。

如果任何列表值与字符串匹配,我想将字符串与所有字符串的第一个列表进行比较。我想从该位置的第二个列表中获取字符串值。

示例:

ArrayList<String> strvalue = (a,b,c,d,e)
ArrayList<String> intValues = (1,2,3,4.5)
String str=c;

我想得到整数值 3。

标签: javaarraylist

解决方案


很简单的东西。您可以使用以下代码:

public static List<String> endDuration(String searchedKey, List<List<String>> keys, List<List<String>> values) {
    Iterator<List<String>> itKey = keys.iterator();
    Iterator<List<String>> itValue = values.iterator();
    Set<String> uniqueKeys = new HashSet<>();

    while (itKey.hasNext() && itValue.hasNext()) {
        List<String> v = itValue.next();
        uniqueKeys.clear();
        uniqueKeys.addAll(itKey.next());

        if (uniqueKeys.contains(searchedKey))
            return v;
    }

    return Collections.emptyList();
}

推荐阅读