Как получить индексы слова, которое встречается более одного раза в списке строк - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть строка [] слов, которую я хочу циклически просмотреть, чтобы получить индекс каждого слова, когда оно появляется в целевом списке.

Я знаю, что target.indexOf (word) вернетиндекс первого вхождения слова, но что, если это слово встречается в целевом списке более одного раза?Как получить индекс каждого вхождения вместе с индексом всех других слов и сохранить индексы в массиве для последующего использования?

String[] words = ["this", "test"];
List<String> targetList = Arrays.asList("this", "test", "is", "a", "complicated", "test");
ArrayList<Integer> indexList = new ArrayList<Integer>();
for (String word : words) {
    int index = targetList.indexOf(word);
    if (index != -1) {
        indexList.add(index);
    }
}

1 Ответ

0 голосов
/ 26 апреля 2019

Я предполагаю, что вы хотели написать Java. Вам нужно использовать массив списков для хранения каждого вхождения слов.

    String[] words = {"this", "test"};
    String[] targetList = {"this", "test", "is", "a", "complicated", "test"};
    ArrayList<Integer> indexList[] = new ArrayList[words.length];

    for(int i=0;i<words.length;i++)
        indexList[i] = new ArrayList<Integer>();

    for(int i=0;i<words.length;i++)
    {
        String current = words[i];
        for(int j=0;j<targetList.length;j++)
        {
            if(words[i].equals(targetList[j]))
            {
                indexList[i].add(j);
            }
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...