List
es la interfaz, no una clase por lo que no se pueden crear instancias. ArrayList
es muy probable que lo que está buscando:
ArrayList<Integer> list = new ArrayList<Integer>();
Una interfaz en Java define esencialmente un modelo para la clase - una clase que implementa una interfaz tiene que proporcionar implementaciones de los métodos de la lista define. Pero la implementación real depende completamente de la clase implementadora, ArrayList
en este caso.
El JDK también proporciona LinkedList
- una implementación alternativa que más se ajusta a la interfaz de la lista.Funciona de manera muy diferente al ArrayList
que se encuentra debajo y, como tal, tiende a ser más eficiente para agregar/eliminar elementos a la mitad de la lista, pero para la gran mayoría de los casos de uso es menos eficiente. ¡Y, por supuesto, si quisieras definir tu propia implementación, es perfectamente posible!
En resumen, no se puede crear una lista porque es una interfaz que no contiene ningún código de hormigón - ese es el trabajo de las clases que implementan esa lista, de los cuales ArrayList
es el más utilizado por el momento (y con razón!)
También vale la pena señalar que en C# a List
es una clase, no una interfaz, eso es IList
. El mismo principio se aplica sin embargo, solo con diferentes nombres.
Esta es la manera de hacerlo. – Doug
+1 por tener el dedo desencadenante más rápido :-) – Kal