У меня есть ArrayList, который содержит повторяющиеся значения в индексе diff diff. например, {"Indian","American","Chinese","Australian","Indian","Russian","Indian"}
, как вы можете видеть, значение - "Indian"
существует по индексу - 0
, 4
и 6
.
Мне нужно знать все эти индексы, где существует "Indian"
, и создать из них список массивов. Вот мой код:
public void filter(){
categoryArray = Arrays.asList(category);
for(String k : category){
//Log.v("filter", filterTerm);
if(k.equals(filterTerm.toLowerCase()))
{
int p = categoryArray.indexOf(k);
Log.v("index of categArr", ""+p);
String id = Integer.toString(p);
indexes.add(id);
}// end of if
}// end of for
Здесь я получаю, сколько раз происходит дублирование, получая размер индексов (ArrayList), но когда я проверяю значения . Это одно значение для всего индекса, поскольку в методе: indexOf()
он всегда возвращает индекс первого значения, которое он находит в массиве.
Итак, если в индексе существует дубликат - 2
,5
,7
, я получаю размер массива индекса как 3
. Но значения {2,2,2,};