java - List<Character>如何获取具体索引?

标签 java list position

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

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/

相关文章:

python - 在python中生成函数列表

python - 在列表中的元素之间添加元素

css - 在图像的顶部、右侧、底部和左侧对齐文本?

css - HTML/CSS 分区定位

java - 将单个事件绑定(bind)到Java中的所有JLabels

python - list.sort(key=list.count) 在 Python 3.x 中如何工作?

java - 吗啡中带有 @Id 的嵌入对象

ruby - 在 Ruby 中的索引位置替换字符

java - 我不希望 JTable 用省略号截断文本

java - 使用等宽字体时 Substance UI 的 HighlightPainter 问题