Q:

RemoveIf generate an exception, why?

I try to remove an item from a list using lambda expression but removeIf generate an exception, why?
In this Orlacle video jdk8 8 MOOC  introduce removeif with list and not arraylist.  Is it right ? https://youtu.be/olKF7VpJMfg?list=PLMod1hYiIvSZL1xclvHcsV2dMiminf19x&t=137 
public static void main(String[] args){
        List<String> parole = Arrays.asList("Lambda ", "expressions ", "are ", "cool ");
Predicate <String> findAre= s->"are ".equals(s);         
        parole.removeIf(findAre);
        parole.forEach( System.out::println);
            }

Here pict with code and Exception in thread "main" 

A:

Arrays.asList produces a fixed sized list backed by an array, so you can't add or remove elements from it.
You can create an ArrayList in order to support removal:
List<String> parole = new ArrayList<>(Arrays.asList("Lambda ", "expressions ", "are ", "cool "));

