当列表中的元素重复多次时,如果列表只有第一个和最后一个元素的方法,如何获取列表中的特定索引?
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/