Well, I can give you some hints.
"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.