当列表中的元素重复几次时,如果列表中只有第一个和最后一个元素的方法,那么如何在列表中获得特定索引?

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中呢?

最佳答案

使用典型的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();

关于java - List <Character>如何获取特定索引?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53818290/

10-11 04:25