Tengo una ArrayList que contiene valores duplicados en diff diff index. por ejemplo {"Indian","American","Chinese","Australian","Indian","Russian","Indian"}
como u puede ver el valor - "Indian"
existe en el índice - 0
, 4
& 6
.Encontrar índice de valores duplicados en una ArrayList
Necesito conocer todos estos índices donde existe "Indian"
y crear una lista de arreglos de eso. Aquí está mi código:
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
Aquí tengo cuántas veces duplicados se produce al obtener el tamaño de índices (ArrayList) pero cuando puedo comprobar los valores. Es un valor en todo índice ya que en el método: indexOf()
siempre trae el índice del primer valor que encuentra en la matriz.
Así que si duplicado existe en el índice - 2
, 5
, 7
puedo obtener el tamaño de la matriz de índice como 3
. Pero los valores son {2,2,2,};
Sí, esta solución es ligeramente más eficiente, ya que el iterador creado implícitamente por el bucle for original mantendría su propio índice separado. –
¿podría explicar qué es filterTerm en esta respuesta? – Gibs