These are generics. They are parameters that go along with the type. For instance, in Java 4 you'd make a list of things this way:
List stuff = new ArrayList();
stuff.add("watch");
stuff.add("pencil");
stuff.add(5.0f);
With generics, you can specify that it must be a list of something in particular, for instance a list of String
s:
List<String> stuff = new ArrayList<String>();
stuff.add("watch");
stuff.add("pencil");
stuff.add(5.0f); //Doesn't compile. The compiler sees that it's not a string.
Also, since Java 7, you can use the diamond operator at the constructor, like this:
List<String> stuff = new ArrayList<>();
This is so you don't have to type that parameter again (as they can get pretty involved).