With version 1.2, Java obtained a thoroughly designed collection library similar to ones available for Smalltalk.
Set s = new HashSet(); s.add("a"); s.add("b"); s.add("c"); for (Iterator i=s.iterator(); i.hasNext(); ) { System.out.println(s.next()); }
Java's version 1.1 introduced another important enhancement: the possibility to obtain detailed information about classes at run-time. Being a no-brainer for Smalltalk, Java's predecessor C++ to this date provides only very limited "run-time type information" (RTTI) which does not give access to attributes or method.
If only for historical reasons, an introduction to Java must cover browser-based Java clients using applets. An applet is a Java program which runs in the Java virtual machine contained in a web browser. One problem with applets is that their evolution basically stopped at java 1.1.8 as the last supported by Microsoft's Internet Explorer out of the box (that is, without downloading a plugin). Therefore, we do not have the much improved libraries of the Java2 platform at our disposal, such as the new collections and the Swing user interface.