とりあえず実行するだけであれば、↓の部分を
public static String[] F(String[] s) {
// TODO 自動生成されたメソッド・スタブ
List<String> list = Arrays.asList(s);
↓のように修正してみてください。
public static String[] F(String[] s) {
// TODO 自動生成されたメソッド・スタブ
List<String> list = new ArrayList( Arrays.asList(s) );
修正前のコードでは、String[](固定配列)に紐づいたリストへの処理となるため、removeメソッドで要素を消すことができずに例外が発生します。ですので、要素を消せるように remove 可能なリストへ作り直しています。
また、実行時にでる例外ログにはヒントがつまっています。
例外がでた場合は慌てず騒がず、「言語+例外名+例外を投げたメソッド名」等でググってみましょう。
例えば、今回のケースだと、↓のような感じです。
java UnsupportedOperationException remove
参考になるページが見つかると思います。
Like!