Not possible in Java.
You can initialize the array to a specific size to prevent it from needing reallocations when the list gets larger than the available array .
The options quoted in response linked in comment above and other answers here generate a real list, generate something that looks like a list, but it stays immutable and can not do everything that is expected from a list. And it's not something efficient, it's just a facilitator.
If this works, then an array solves your problem and can be initialized as desired. By taking the other solutions or not solving the problem mentioned or the problem can be solved in a much more elegant and performative way.
You can create a method that creates an actual list from a sequence of arguments, but it is not efficient either. In fact it is very inefficient because there will be two copies, one to initialize the array that will be passed to the method and another to copy to the list.
In C # you can do this, but it's only syntactic sugar. In C ++ you can do it, under certain circumstances, efficiently.