Lista <Carácter> ¿cómo obtener un índice específico?

¿Cómo puedo obtener un índice específico en la Lista si solo tiene los métodos para el primer y el último elemento, cuando el elemento en la lista se repite varias veces?

List<Character> listString = new ArrayList<>();

listString.add(0, 'A');
listString.add(1, 'A');
listString.add(2, 'A');
listString.add(3, 'A');


int index = listString.indexOf('A');
int indexLast = listString.lastIndexOf('A');

System.out.println(index);
System.out.println(indexLast);

Salida:

0 0

3

Entonces, ¿cómo puedo obtener información de que 'A' también está en los índices 1 y 2?

Respuesta 1

use un bucle típico para:

List<Integer> indices = new ArrayList<>();
for (int i = 0; i < listString.size(); i++) 
     if(listString.get(i) == 'A')
        indices.add(i);

o:

int[] indices = IntStream.range(0, listString.size())
                         .filter(i -> listString.get(i) == 'A')
                         .toArray();
Respuesta: 2

Posible duplicado: eliminar una carpeta en la tarjeta SD. En mi aplicación, guardé todos mis datos mediante el almacenamiento interno, es decir, el archivo. Entonces, en primera instancia, usando ContextWrapper cw = new ContextWrapper (...

Aquí está el trasfondo, estoy tratando de crear un DSL para permitir al cliente escribir scripts simples para consultar en nuestra base de datos basada en mongodb. Elijo antlr para implementar el DSL. Desde mi entendimiento (y ...

Tengo una matriz de cadenas que contiene muchas palabras. Deseo obtener el índice de una palabra contenida en la matriz (-1 si no está contenida). Primero hice un bucle para buscar a través de todos los elementos en ...

Instalé SonarLint usando este enfoque en mi ECLIPSE MARS 2 - 4.5.0 No pude hacerlo con MarketPlace debido a este error: No puedo leer el repositorio en https: //eclipse-uc.sonarlint.org / ...