This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
It helps to compare it to the code without the < ... > stuff (that's called Generics, by the way, and you can find an introduction here).
The only difference is that you need to cast the object the get method returns to a String, because a List contains Object instances (while List<String> is guaranteed to contain String instances - which don't need to be cast).
The other differences is that if you use List<String> and ArrayList<String> the compiler can check that only String objects are added to the list. This would not work: