List<String> keys = new ArrayList<>(Arrays.asList("a", "b", "c"));
Arrays.asList("a", "b", "c")の結果は固定Listである、add, removeが不可です。
new ArrayList<>()を使用して、普通Listへ変換した後、add, removeが可能となります。
■List to Array
List<String> list = ..;
String[] array = list.toArray(new String[0]);
上記コードに、もともと list.toArray(new String[list.size()])を使用すると、理解しやすいけど、JVM optimizationsの利便性を考えたうえで、new String[0]方がいい。