有 Java 编程相关的问题?

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


共 (5) 个答案

  1. # 1 楼答案

    因为我们不知道我们正在搜索的String会在String[]中出现多少次,所以我更喜欢使用List来存储所有的indices。您可以尝试以下方法:

    String [] alphabet = {"A", "B", "C", "A", "E", "A", "A"};
    List<Integer> indices = new ArrayList<Integer>();
    String toSearch = "A";
    for (int i = 0; i < alphabet.length; i++) {
      if (alphabet[i].equals(toSearch)) {
        indices.add(i);
      }
    }
    System.out.println(indices); //prints [0, 3, 5, 6]
    
  2. # 2 楼答案

    Take和int数组[]。并使用for循环找出您的特定字符串

    int[] array;
    for(int i=0;i<alphabet.lenght;i++)
    {
        if(alphabet[i].equals("A"))
        {
            array[i]=i;
        }
    }
    
  3. # 3 楼答案

    您可以按照建议循环使用它,当遇到字符串时,只需保存索引(如果需要,您可以为此使用ArrayList,因为我们正在动态添加索引)

    String [] alphabet ={"A","B","C","A","E","A","A" };
    ArrayList<Integer> list = new ArrayList<>();
    for(int i=0 : i<alphabet.length; i++){
        if(alphabet[i].equals("A"){ //substitute "A" for the string you are looking for
            list.add(i);
        } 
    }
    

    唯一需要注意的是,不能对ArrayList使用原语类型“int”

  4. # 4 楼答案

    尝试使用for循环和list存储索引,如下所示:

    String [] alphabet ={"A","B","C","A","E","A","A" };
    ArrayList<Integer> list = new ArrayList<Integer>();
    for (int i=0;i<alphabet.length;i++) {
       if (alphabet[i].equals("A")) {
        list.add(i);
       }
      }
    System.out.println(list);
     }
    

    使用列表比使用数组更好,因为您不需要关心大小。 输出:

      [0, 3, 5, 6]
    
  5. # 5 楼答案

    试试这个

        String [] alphabet ={"A","B","C","A","E","A","A" };
        String search = "A";
        int[] array = IntStream.range(0, alphabet.length)
            .filter(i -> alphabet[i].equals(search))
            .toArray();
        System.out.println(Arrays.toString(array));