Java permite tipar una colección especificando el tipo de los elementos que contendrá. Este tipo podrá ser una clase o una interfaz, pero no un tipo primitivo (para esto último deberían utilizarse wrappers).
El tipo de los elementos de la colección se especifica entre “<” y “>”, de la siguiente manera:
List<T> items;
en donde “T” indica el nombre de una clase o interfaz.
Por lo tanto la declaración anterior indica que “items” será una instancia de ArrayList que contendrá objetos de tipo “T”.
Por ejemplo, un ArrayList que contendrá instancias de la clase Employee (empleado) se define y crea de la siguiente manera:
List<Employee> employees = new ArrayList<Employee>();
Este tipado permitirá al compilador chequear que no se agregue a la lista ningún elemento que no esté tipado con la clase Employee o alguna de sus subclases, lo cual resulta en un uso más seguro.