Какой тип List <E> возвращает Collectors.toList ()?

я читаюГосударство Лямбда: издание Библиотекии удивляюсь одному утверждению:

Под разделомStreamsесть следующее:

List<Shape> blue = shapes.stream()
                         .filter(s -> s.getColor() == BLUE)
                         .collect(Collectors.toList());

В документе не указано, чтоshapes&nbsp;на самом деле, и я не знаю, имеет ли это значение.

Что меня смущает, так это то, чтоList&nbsp;этот блок кода возвращает?

Он присваивает переменнуюList<Shape>, что совершенно нормально.stream()&nbsp;ниfilter()&nbsp;решить, какой список использовать.Collectors.toList()&nbsp;ни один не указывает конкретный типList.

И чтобетон&nbsp;тип (подкласс)List&nbsp;используется здесь? Есть ли гарантии?