Как получить набор переменных экземпляра с помощью Stream - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть класс под названием Change.Этот класс имеет две строковые переменные, называемые форматом и описанием, с обычными получателями и установщиками.

Если у меня есть изменения ArrayList<Change>, как я могу получить набор всех различных форматов с использованием потоков Java?

1 Ответ

4 голосов
/ 20 сентября 2019

Вы используете метод Stream#map для получения Stream строк (на основе «метода», который вы передали в качестве аргумента), а затем вы collect используете метод Stream#collect.

Например:

public class Change {
    private String format;
    private String description;

    public Change(String format, String description) {
        this.format = format;
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getFormat() {
        return format;
    }

    public void setFormat(String format) {
        this.format = format;
    }

    public static void main(String[] args) {
        List<Change> list = new ArrayList<>();
        list.add(new Change("format1", "descr1"));
        list.add(new Change("formatelse", "descrelse"));

        Set<String> formats = list.stream().map(Change::getFormat).collect(Collectors.toSet());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...