将字符串与arraylist元素进行比较,并获得另一个arraylist元素

时间:2018-06-12 17:25:04

标签: java 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;
}

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

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

Eample:

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

我想获得整数值3。

2 个答案:

答案 0 :(得分:0)

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

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();
}

答案 1 :(得分:-1)

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

public int getSecondListValue(ArrayList<String> list1, ArrayList<Integer> list2, String compare) {

    for (int i = 0; i < list1.size() && i < list2.size(); i++) {
        if (list1.get(i).equals(compare)) 
            return list2.get(i);
    }
    return null;
}