从ArrayList读取

时间:2014-08-21 14:27:39

标签: java arraylist

我正在从文本文件中读取并将行保存到ArrayList。但是我没有成功地阅读和阅读ArrayList中的所有特定字符,有多少列和行。

这是我到目前为止编写的代码:

        String line;
        BufferedReader br = new BufferedReader(r);
        ArrayList<String> myArrayList = new ArrayList<String>();

        while ((line = br.readLine()) != null)
        {
            myArrayList.add(line);
            .........
        }

4 个答案:

答案 0 :(得分:1)

如果我正在阅读您的帖子,那么您希望进一步分散您的行(您对列的引用)。由于您要存储String个对象,因此您需要进一步将这些条目拆分为另一个 List,以便正确地解析您的文字和字符。

Java曾经有一些名为StringTokenizer的东西可以做你想要的东西,但现在已被弃用并被String.Split()方法取代。通过迭代ArrayList并按特定分隔符(例如空格或句点)拆分String对象,您应该能够进一步细分现有的ArrayList并创建新的列表单个词,甚至是人物。

答案 1 :(得分:0)

你没有调用List myArrayList,我想你想改变这个

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

to(使用diamond operator和接口类型) -

List<String> store = new ArrayList<>(); // <-- match the name.

你可以计算&#34;行&#34;通过获取List -

的大小
int rows = store.size();

计算&#34;列&#34;你需要迭代List并检查这些行。 (或者你可以在阅读输入时这样做) -

for (String line : store) {
  // count columns in line
}

答案 2 :(得分:0)

我不知道你为什么使用“store.add(line)”。您应该使用myArrayList而不是this。 将所有内容存储在ArrayList中之后,您可以使用for-each循环遍历列表:

for (String string : myArrayList) {
    // do everything with the strings here
}

答案 3 :(得分:0)

如果您想通过ArrayList,可以通过多种方式尝试 您可以使用ArrayList方法轻松获取size()中的元素数量。

e.g。

//traditional way
for(int i = 0; i< arrayList.size(); i++){
    System.out.println(arrayList.get(i));
}

//enhanced forloop
if your ArrayList is String type
for(String row : arrayList)
    System.out.println(row);

使用Java 8,您可以使用更简单的迭代器来完成ArrayList

被修改

如果你想逐个字符阅读

for(String row : arrayList){
   char []letters = row/toCharArray();
   for(char character : letters)
       System.out.print(character + " ") ;
}