用Java

时间:2016-03-15 19:40:50

标签: java arraylist

我有一个程序可以重复读出文件。我想只初始化一次然后使用arraylist / HashMAP。

public boolean negative(String text, String type) throws FileNotFoundException
{
     ArrayList<String> negative_list = new ArrayList<String>();
     Scanner scan = new Scanner(new File("NegatingWordList.txt"));
     while (scan.hasNextLine())
     {
           negative_list.add(scan.nextLine());
     }
     if(negative_list.contains(text))
     {
         return true;
     }

    return false;
}

因此,在初始化negative_list之后,我再也不需要这样做了。

2 个答案:

答案 0 :(得分:0)

据我所知,您的问题是您希望将文件内容保存在内存中。在这种情况下,全局存储列表,在程序启动时初始化为新列表,在negative方法中,如果列表为空,则从文件读入列表,然后检查列表是否包含文本。所以在它填满列表一次之后,它就不会再次从文件中读取。如果您的文件不为空,这将有效。如果它是空的,则每次都会读取。这种实现很简单,因此,为了实践起见,您应该自己实现它而不是任何提供它的人。无论如何,你大部分都在工作。

答案 1 :(得分:0)

您可以将negative_list声明为全局变量,如下所示: -

ArrayList<String> negative_list =null;

&安培;内部函数使用条件如下: -

if(negative_list == null){
negative_list = new ArrayList<String>();
}