麻烦迭代一个hashset

时间:2013-03-14 21:31:50

标签: java file iterator hashset

我的问题是当我运行main方法时,没有任何打印。 我对HashSet很新,我担心它因为一些非常愚蠢的东西而无效。 dic最初是ArrayList,我只是想将其转换为HashSet以提高效率。

private Set<String>dic = new HashSet<String>(100000);
public void dictionary(){//reads/intializes arraylist dic from a file
    File data = new File("dictionaryForJava.txt");
    Scanner scanner=null;
    try {
        scanner = new Scanner(data);
        while (scanner.hasNextLine()) {
            dic.add(scanner.nextLine());
        }
    } catch (FileNotFoundException fnfe) {}
    if(scanner!=null)scanner.close(); // need if if file missing
}
public void print () throws IOException{
     Iterator it = dic.iterator();   
     while(it.hasNext())
         {
              String value =(String)it.next();
              System.out.println(value);  
         }
}
public static void main (String[] args)throws IOException{
    words test = new words();
    test.dictionary();
    test.print();
}

1 个答案:

答案 0 :(得分:3)

很可能找不到文件dictionaryForJava.txt。如果没有至少打印一些调试信息,你不能吃异常,试试这个:

catch (FileNotFoundException fnfe) {fnfe.printStackTrace();}

如果在阅读文件时遇到问题,上面将在控制台中显示。