Привет всем, у меня сейчас есть проблемы с одним из моих методов на данный момент.Устранение неполадок в ArrayList из ArrayLists
ArrayList<ArrayList<UnigramLanguageModel>> arrayListReadCategoriesDC() throws IOException{
BufferedReader br = null;
String line="";
ArrayList<ArrayList<UnigramLanguageModel>> dcx = new ArrayList<ArrayList<UnigramLanguageModel>>();
ArrayList<UnigramLanguageModel> ulm = new ArrayList<UnigramLanguageModel>();
for(int i=0;i<7;i++){
br = new BufferedReader(new FileReader("C:\\Users\\mccluskm\\Desktop\\trainingSet\\"+dcP[i]+"\\"+dc[i]+".txt"));
while ((line = br.readLine()) != null){
String[] split = line.split(":");
ulm.add(new UnigramLanguageModel(split[0],Integer.parseInt(split[1]),true));
}
//System.out.println("Adding stage: "+ulm.size());
dcx.add(ulm);
//System.out.println("From within nested ArrayList: "+dcx.get(i).size());
ulm.clear();
}
br.close();
return dcx;
}
Это мой метод, в котором я читал из разных файлов (которые представляют разные категории). Каждая категория получает свой собственный ArrayList, а затем я хочу, чтобы вернуть ArrayList>
Изнутри основной метод, который я называю это так:
UnigramLanguageModel ulm = new UnigramLanguageModel();
ArrayList<ArrayList<UnigramLanguageModel>> dc =ulm.arrayListReadCategoriesDC();
Он возвращает пустую в ArrayList, проведение 7 пустых ArrayLists и я не знаю, почему? Если бы кто-нибудь мог помочь, я бы очень признателен!
'while ((line = br.readLine())! = Null) {String [] split = line.split (": "); ulm.add (новый UnigramLanguageModel (split [0], Integer.parseInt (split [1]), true)); } 'нужно проверить эту часть кода. Убедитесь, что основной файл .txt правильно распределяется с помощью: seperator. Семь arraylists добавлены в другой arraylist из-за 'dcx.add (ulm);' –
Я проверил, что файл читается правильно, и отдельные элементы добавляются в объект правильно. Yeh Мне просто интересно, почему он добавляет пустые ArrayLists, несмотря на то, что я их заселяю? –