65
List is an interface you can implement yourself and also implemented by some of the Java collections, like Vector.
You can provide compile-time typing information using the angled brackets. The most generic type would be Object, which would be List<Object>. The <?> you see is indicating a List of some subclass of Object or an Object. This is like saying List<? extends Object>, or List<? extends Foo>, where the List contains objects of some subclass of Foo or objects of Foo itself.
You can't instantiate a List; it's an interface, not an implementation.