Я уверен, что это просто, но по какой-то причине я не получаю то, что хочу.
У меня есть SortedMap<String, String>
значения, и я хочу передать и отфильтровать его и сохранить только некоторые значения.
Например:
SortedMap<String, String> input = new TreeMap<>();
values.put("accepted.animal", "dog");
values.put("accepted.bird", "owl");
values.put("accepted.food", "broccoli");
values.put("rejected.animal", "cat");
values.put("rejected.bird", "eagle");
values.put("rejected.food", "meat");
Я хочу только сохранить значения, которые содержат «принято», в ключе и отбросить все остальное.
Итак, результат будет:
{accepted.animal=dog, accepted.bird=owl, accepted.food=broccoli}
Как мне пройти по карте и отфильтровать все, кроме ключей, которые содержат «принято»?
Вот чтоЯ попытался:
private SortedMap<String, String> process(final Input input) {
final SortedMap<String, String> results = new TreeMap<>();
return input.getInputParams()
.entrySet()
.stream()
.filter(params -> params.getKey().contains("accepted"))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
}
Но это не удается из-за "Нестатический метод не может быть ссылка из статического контекста".