HashSet扩展了AbstractSet并且实现Set接口,它创建一个类集,该类集使用散列表进行存储。散列表通过使用称之为散列法的机制来存储信息。在散列中,一个关键字的信息内容被用来确定唯一的一个值,称为散列码,而散列码被用来当做与关键字相连的数据的存储下标。关键字到其散列码的转换是自动执行的,你看不到散列码本身。所以你的程序代码也不能直接索引散列表。……最需注意的是,散列集合并没有确保其元素的顺序,因为散列发的处理通常不让自己参与创建排序集合,如果需要排序,另一种类集,TreeSet将是一个更好的选择。-------------引自《JAVA2 参考大全》第四版,P310。