Список <Character>как получить конкретный индекс? - PullRequest
0 голосов
/ 17 декабря 2018

Как получить конкретный индекс в списке, если в нем есть только методы для первого и последнего элемента, когда элемент в списке повторяется несколько раз?

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

Вывод:

0

3

Так как я могу получить информацию о том, что «A» также находится в индексах 1 и 2?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Вы можете распечатать свои ответы следующим образом (после написания кода выше):

for (int i = 0; i <indices.size() ; i++) {
        System.out.println(indices.get(i));
    }
0 голосов
/ 17 декабря 2018

используйте типичный цикл for:

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

или:

int[] indices = IntStream.range(0, listString.size())
                         .filter(i -> listString.get(i) == 'A')
                         .toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...