Есть ли способ отделить или маркировать предложения из arraylist и поместить их в новый arraylist для каждого senteces?

#java #oop

#java #ооп

Вопрос:

Итак, для моего задания было дано 3 разных предложения.

Например;

  1. «Автомобиль белый»
  2. «Кошка черная»
  3. «Небо голубое»

Эти предложения находятся в ArrayList с именем sList

и заданный вопрос заключается в том, чтобы отделить или обозначить каждое слово с помощью разделителя white blank / space и сохранить каждую работу в новом ArrayList под названием wordList .

для разделения каждого слова я понял это, используя

 for(int i = 0; i < sList.size(); i  ){
        String sentence = sList.get(i);
        String str[] = sentence.split(" ");
    }
  

но у меня возникли проблемы с сохранением каждого слова в новом ArrayList

Комментарии:

1. Какие именно проблемы у вас возникли с новыми списками массивов?

2. Давайте разберем проблему. 1-й у вас разные предложения. 2-е — Каждое предложение состоит из слов. 3-й — вам нужен массив, равный размеру совокупной длины каждого предложения, поэтому вам нужно сложить общее количество слов. 4-й вы должны перебирать каждое предложение и разделять его на основе пустого. 5-й — вы должны хранить отдельные слова в массиве в пункте 3.

Ответ №1:

Если вам просто нужно поместить все слова из этих строк в массив с именем wordList , тогда вы сначала создадите этот список перед for циклом следующим образом:

 ArrayList<String> wordList = new ArrayList<>();
  

после того, как вы собрали свои разделенные слова String str[] , вы можете выполнить итерацию по нему и добавить слово за словом wordList следующим образом:

 String str[] = sentence.split(" ");
for(String word : str) {
    wordList.add(word);
}
  

Итак, чтобы завершить его, ваш код должен выглядеть следующим образом:

 ArrayList<String> sList = new ArrayList<>();
sList.add("The car is white");
sList.add("The cat is black");
sList.add("The sky is blue");

ArrayList<String> wordList = new ArrayList<>();
for(int i = 0; i < sList.size(); i  ){
    String sentence = sList.get(i);
    String str[] = sentence.split(" ");
    for(String word : str) {
        wordList.add(word);
    }
}
  

Если вы напечатаете wordList , вы получите:

 [The, car, is, white, The, cat, is, black, The, sky, is, blue]
  

Комментарии:

1. Оу, я вижу, так что в моем кодировании я на самом деле уже собрал слова в String str[] = sentence.split[]; ? И цикл for заключается в вставке слов в arraylist. Большое вам спасибо.

2. @AshreefulAmni Да, str[] это массив с предложениями из sList splitted up. Если вы поместите System.out.println(Arrays.toString(str)); под String str[] = sentence.split(" "); вы можете распечатать эти массивы и увидеть, что вы получаете массив [The, car, is, white] [The, cat, is, black] и т.д.