С помощью функции, приведенной ниже, вы разделяете предложение на каждый пробел и добавляете слова в новый список.
private List<String> sentenceToList(String sentence) {
return new ArrayList<>(Arrays.asList(sentence.split("\\s+")));
}
С помощью этой функции вы получаете карту, в которой предложение является ключом и список со всеми содержащимися в нем словами содержит .These.
private Map<String, List<String>> checkSentences() {
Map<String, List<String>> containsMap = new HashMap<>();
sentences.forEach(sentence -> {
containsMap.put(sentence, sentenceToList(sentence).stream().distinct().filter(word -> containsThese.contains(word)).collect(Collectors.toList()));
});
return containsMap;
}
Возвращает -> {warm day=[day], sounds good=[good], wish you a good day=[good, day]}