【问题标题】:Java- Add each word to an arraylist?Java-将每个单词添加到数组列表中?
【发布时间】:2013-05-19 13:57:12
【问题描述】:

这可能很简单,但由于某种原因,我现在正在空白。

假设我有一个字符串“Hello I Like Sports”

如何将每个单词添加到数组列表中(所以每个单词都在数组列表的索引中)?

提前致谢!

【问题讨论】:

  • 你自己有没有尝试过?
  • 最好让您考虑执行此操作所需的步骤。如果您不知道代码,这些步骤可以是英文的,而不是 Java 的,但请考虑在此处发布您的算法。如果定期进行这种类型的练习,可以帮助提高您的代码思维。它还可以帮助您在这里获得一些信誉,表明您至少尝试过 something 并使您的帖子不再是“家庭作业转储”类型的问题。
  • foreach (String s : string.split(\\s+)) { myArrayList.add(s); }
  • 是的,基本上我尝试循环遍历字符串,并且对于空格之前的每个字符,我都会将其添加到字符串中。然后最后我将该字符串添加到字符串数组列表中。但我意识到,这只是让我第一个词,之后什么都没有。
  • @Big_Fan:总是更好地发布您的尝试。我们非常感谢您已经尝试并愿意向我们展示这一尝试。

标签: java string arraylist


【解决方案1】:

试试这个:

public static void main(String[] args) {
        String stri="Hello I Like Sports";
        String strar[]=stri.split(" ");
        ArrayList<String> arr = new ArrayList<String>(Arrays.asList(strar));
        for(int x=0;x<arr.size();x++){
            System.out.println("Data :"+arr.get(x));
        }
    }

输出:

Data :Hello
Data :I
Data :Like
Data :Sports

【讨论】:

    【解决方案2】:

    试试这个代码是从 .txt 文件中获取所有单词的完美工作

    reader = new BufferedReader(
        new InputStreamReader(getAssets().open("inputNews.txt")));
    
        // do reading, usually loop until end of file reading
        String mLine;
        while ((mLine = reader.readLine()) != null) {
            for(String word :mLine.split(" ")) {
                lst.add(word);
            }
        }
    

    【讨论】:

      【解决方案3】:

      首先,你必须split这个字符串,然后:

      示例代码:

      final String str = "Hello I Like Sports";
      // Create a List
      final List<String> list = Arrays.asList(str.split(" "));
      // Create an ArrayList
      final ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(str.split(" ")));
      

      使用Arrays.asListArrayList 构造函数可以避免手动迭代列表的每个元素。

      【讨论】:

      • 嗯你一般是根据接口声明的。 -1 表示错误的形式。
      【解决方案4】:

      稍微搜索一下就可以完成这项工作。

      我仍然在给出解决方案。您可以使用拆分。

      如果需要,您可以稍后将这些数组元素添加到 arraylist。

          String s="Hello  I like Sports";
          String[] words = s.split(" "); //getting into array
          //adding array elements to arraylist using enhanced for loop
          List<String> wordList=new ArrayList();
          for(String str:words)
          {
           wordList.add(str);
          }
      

      【讨论】:

        【解决方案5】:

        您可以使用 String 的 split 方法并在空格上拆分来获取 String 数组中的每个单词。然后您可以使用该数组创建一个数组列表

        String sentence ="Hello I Like Sports";
        String [] words = sentence.split(" ");
        ArrayList<String> wordList = new ArrayList<String>(Arrays.asList(words));
        

        String.split()

        Arrays.asList()

        【讨论】:

          【解决方案6】:
          String[] words = sentence.split(" ");  
          list.addAll(Arrays.asList(words));
          

          【讨论】:

            【解决方案7】:
            ArrayList<String> wordArrayList = new ArrayList<String>();
            for(String word : "Hello I like Sports".split(" ")) {
                wordArrayList.add(word);
            }
            

            【讨论】:

            • @Eric:抱歉,我已经解决了
            【解决方案8】:

            要做的第一件事是将句子分成几部分。这样做的方法是使用String.split 这将返回一个字符串数组。

            既然您希望它在 ArrayList 中,接下来您要做的就是遍历数组中的每个 String 并将其添加到 ArrayList

            【讨论】:

            • 谢谢!从来不知道 string.split,这将有很大帮助!
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-02-11
            • 2013-03-16
            • 2023-03-05
            • 2015-10-20
            • 2022-11-22
            • 2020-11-07
            • 2013-11-30
            相关资源
            最近更新 更多