如何在String Array中查找ArrayList项的索引

Gar*_*g's 1 java arrays arraylist

我想ArrayList<String>在String Array中找到item的索引,但每次indexOf()都给-1索引.

我不明白哪里出错了?请检查我的代码并指导我.

public static void arrangeUiComponent() {

    ArrayList<String> packageName = new ArrayList<String>();
    packageName.add("com.example.dummy");
    packageName.add("edu.app.reading");
    ArrayList<Integer> index = getIndex(packageName);

}
Run Code Online (Sandbox Code Playgroud)

//搜索方法

private static ArrayList<Integer> getIndex(ArrayList<String> searchName) {

    ArrayList<Integer> indexList = new ArrayList<Integer>();
    String[] collectionData = new String[] { "com.example.app",
            "com.example.appdemo", "com.example.dummy", "edu.app.reading",
            "edu.app.knowledge" };

    /*
     * for iterating each and every item of list
     */
    for (int i = 0; i < searchName.size(); i++) {
        Log.i("MISSION", "value will be: " + searchName.get(i).toString());
        /*
         * for searching listItem in package name array
         */
        for (int j = 0; j < collectionData.length; j++) {
            indexList.add(collectionData.toString().indexOf(searchName.get(i).toString()));
            break;
        }
    }
    return indexList;
}
Run Code Online (Sandbox Code Playgroud)

sam*_*sam 6

更换

    for (int j = 0; j < collectionData.length; j++) {
        indexList.add(collectionData.toString().indexOf(searchName.get(i).toString()));
        break;
    }
Run Code Online (Sandbox Code Playgroud)

      indexList.add(Arrays.asList(collectionData).indexOf(searchName.get(i)));
Run Code Online (Sandbox Code Playgroud)

是您的代码的工作演示.Arrays.asList将你转变string array成一个list.你为什么不用一个list而不是string collectionData array