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

I am having two arrays one is integer array and another one is string array also i am having one string i want to compare the string with all strings in an array if any of the array values matches with string i want to get integer value from integer array in that position. EX ArrayList<string> strvalue =(a,b,c,d,e),ArrayList<Integer>intValues=(1,2,3,4.5) and String str=c; .i want to get integer value 3.

2 Answers 2

2

A simple 'for' will do:

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

And you can use it like this:

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);
Sign up to request clarification or add additional context in comments.

3 Comments

for(int i=0;i<stylistIDArray.size() && i< durationArray.size();i++){ if(stylistid.equals(stylistIDArray.get(i))){ durArr=(durationArray.get(i)); } }
Ah... you are NOT using it as a function. You'll need to use break when you find it. Otherwise it always end up being null. Alternatively, I would recommend placing this logic into a function (as my example) since it's easier to read and to debug.
thank you its working now instead of using array i used arrayoFarraylist that's why i got null.
0

Try

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

Use the value of k as needed.

2 Comments

for (int i = 0; i < stylistIDArray.size(); i++) { stylistidArr = stylistIDArray.get(i); durationArr = durationArray.get(i); if(stylistidArr.equals(stylistid)){ strDuration=durationArr.get(i); // compares the ith element with "c" break; } }
Its giving null

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.