List that does not change in size
Another alternative in case you need to have a partially mutable list is to use the static method Arrays.asList
List<Luchador> luchadores= Arrays.asList(new Luchador("El Santo"), new Luchador("El Cavernario"), new Luchador("Blue Demon"));
The size of your list will not change , but you can replace the elements of your list using the set java.util.ArrayList.set(int indice, E elemento)
method.
For example, if you wanted to replace the fighter "El Cavernario" with "El cavernario Galindo", you could do something like this:
luchadores.set(1,new Luchador("El Cavernario Galindo"));
This method should work from Java 7.
Fully manipulated list
If you want a list that you can fully manipulate at your whim, you can use Stream and convert it to the list as follows:
List<Luchador> luchadores = Stream.of((new Luchador("El Santo"), new Luchador("El Cavernario"), new Luchador("Blue Demon")).collect(toList());
and without problems you could add any other
luchadores.add(new Luchador("El Bulldog"));
This method should work from Java 8.
Modifiable list for obsolete versions
There is another traditional way of doing it for already deprecated versions of Java but I recommend not to use it , it is known as double-key initialization, it has the defect that you create anonymous internal classes.
List<Luchador> list = new ArrayList<Luchador>() {{
add(new Luchador("El Santo"));
add(new Luchador("El Cavernario"));
add(new Luchador("Blue Demon"));
}};