有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java列表<Character>如何获取特定索引?

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

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) 个答案

  1. # 1 楼答案

    使用典型的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();
    
  2. # 2 楼答案

    您可以这样打印答案(在编写上述代码后):

    for (int i = 0; i <indices.size() ; i++) {
            System.out.println(indices.get(i));
        }