Я хочу поместить Map<String, List<Integer>>
в значение Map<Integer, Map<String, List<Integer>>>
.
try {
bufferedReader = new BufferedReader(new FileReader(new File(filePath)));
String currentLine;
int numLine=0;
while ((currentLine = bufferedReader.readLine()) != null) {
numLine++;
Collection<String> wordsInOneLigne = Arrays.asList(currentLine.split(" "));
List<String> distinctWordsInOneLigne = wordsInOneLigne.stream().distinct().collect(Collectors.toList());
for (String word : distinctWordsInOneLigne) {
if(!word.isEmpty()){
List<Integer> linePositionsOfWord = new LinkedList<>();
if(currentLine.contains(word)){
linePositionsOfWord.add(numLine);
map.clear();
map.put(filePath,linePositionsOfWord);
map1.put(word, map);
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (bufferedReader != null) {
bufferedReader.close();
}
}
diverWordsInOneLine - список, содержащий слова в строке.
Получен вывод: {word1={D:\Files\file1.txt=[3]}, word3={D:\Files\file1.txt=[3]}, word2={D:\Files\file1.txt=[3]}}
Ожидаемый результат: {word1={D:\Files\file1.txt=[numberoflinecontainsword]}, word3={D:\Files\file1.txt=[numberoflinecontainsword]}, word2={D:\Files\file1.txt=[numberoflinecontainsword]}}
Мне нужна помощь, пожалуйста:)