比较字符串和数组值

时间:2018-06-11 17:30:15

标签: java android

ArrayList<String> stylistidArr = new ArrayList<>();
ArrayList<String> durationArr = new ArrayList<>();
Integer duration = null;
stylistIDArray = differentGenderServicesAdapter.getSelectedStylistIdArray();
durationArray = differentGenderServicesAdapter.getSelectedDurArray();
for (int i = 0; i < stylistIDArray.size(); i++) {
    stylistidArr = stylistIDArray.get(i);
    durationArr = durationArray.get(i);
    if (stylistidArr.contains(stylistid)) {
        duration = Integer.parseInt(durationArr.get(i));
        Log.d("duration", String.valueOf(duration));
    }
}

我有两个数组一个是整数数组,另一个是字符串数组我也有一个字符串我想比较字符串与数组中的所有字符串如果任何数组值与字符串匹配我想得到整数该位置的整数数组的值。 EX ArrayList<string> strvalue =(a,b,c,d,e),ArrayList<Integer>intValues=(1,2,3,4.5)String str=c;。我希望得到整数值3.

2 个答案:

答案 0 :(得分:2)

一个简单的&#39; for&#39;会这样做:

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

你可以像这样使用它:

List<String> keys = new ArrayList<String>();
keys.add("a");
keys.add("b");
keys.add("c");
keys.add("d");
keys.add("e");

List<Integer> values = new ArrayList<Integer>();
values.add(1);
values.add(2);
values.add(3);
values.add(4);
values.add(5);

Integer value = find("c", keys, values);

答案 1 :(得分:0)

尝试

for (int i = 0; i < stylistIDArray.size(); i++) {
stylistidArr = stylistIDArray.get(i);
durationArr = durationArray.get(i);
if(stylistidArr.equals(str){
// compares the ith element with "c"
k=values.get(i);
break;}
}

根据需要使用k的值。