This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
"cout << something" is the same as "System.out.print(something)" in Java.
List<string> is a template instantiation, something that current versions of Java don't have (but JDK 1.5 will!) It means a List specialized to hold string objects. You could use a plain java.util.LinkedList .
"cin >> something" is a little trickier in Java; it means read "something" from standard input -- i.e., System.in in Java.
This program makes use of a template class List<>, which you don't show here; it's not a class from the standard library. The string class is, though.