Yeah, use associative arrays, or in java talk: java.util.Map. (This would be so easy in Perl, but anyway.) Basically, loop through each list, and create or modify entries in the map where the key is the string and the value is the current count of occurances of each string.
Then just loop through the keys of the map (you can sort them first using java.util.Collections.sort, if you like) and print the key and the corresponding value in the map.
If you're using JDK1.5, it's even easier, what with the new for loops and autoboxing and whatnot.