HashSet底层的数据结构是哈希表,在查找时,理想的情况是不经过任何比较,一次存取便能得到所查的记录,那就必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使没个关键字和结构中一个唯一的存储位置相对应,这个对应关系f就是哈希函数。
HashSet是一个无序的集合,也就是存入和取出的顺序不一定一致,取出时是按照一定顺序的哈希值建立的表,按照表的顺序取出元素
当取出时,用到迭代器 Iterator ,迭代器就是一种取出的方式,为了方便使用,将其封装到了类的内部,可由集合对象调用
Iterator类有三个方法,next() , hasNext(), remove()
next方法可以取出下一个元素,hasNext方法用于判断是否还有元素可以迭代
代码演示:
- public static void main(String[] args){
- HashSet<String> hs = new HashSet<String>();
- hs.add("zhangsan");
- hs.add("lisi");
- hs.add("wangwu");
- Iterator<String> it = hs.iterator();
- while(it.hasNext()){
- String name = it.next();
- System.out.println(name);
- }
- }
复制代码 |