написал такой пример как в условии , выдает
Д А Б Д
Д А А Д
package com.javarush.task.task19.task1922;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/*
Ищем нужные строки
*/
public class Solution {
public static List<String> words = new ArrayList<String>();
static {
words.add("А");
words.add("Б");
words.add("В");
}
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String fileName = bufferedReader.readLine();
bufferedReader.close();
String s;
Map<String, Integer> map = new HashMap<>();
BufferedReader br = new BufferedReader(new FileReader(fileName));
while (br.ready()) {
s = br.readLine();
String[] ar = s.split(" ");
int count = 0;
int allCount;
String name = "";
for (int i = 0; i < words.size(); i++) {
for (int j = 0; j < ar.length; j++) {
name += ar[j] + " ";
if (words.get(i).equals(ar[j])) {
count++;
}
}
name = name.trim();
if (map.get(name) == null) {
allCount = count;
} else {
allCount = map.get(name) + count;
}
map.put(name, allCount);
count = 0;
name = "";
}
}
br.close();
map.forEach((k, v) -> {
if (v == 2) {
System.out.println(k);
}
});
}
}