HashSet哈希表
(1)由于是实现set接口的类,所以它的元素不能重复
(1)它包含的元素是无序的
(2)哈希表访问元素不是按线性表通过下标进行访问,而是根据哈希码来存取集合中的元素。
哈希集合是在元素的存储位置和值间建立一个特定的对应关系f,使每一个元素都有一个唯一的位置与它对应。
因而在查找表中,只需根据元素k的值,计算f(K)的值,如果元素在集合中,就能在存储位置找到他,就不用挨个进行比较,这种关系f称作哈希函数,按照这种关系建立的表 也称做哈希表或散列表。
import java.util.HashSet;
import java.util.Iterator;
/**
* 在命令行方式下输入的每个字符串添加到哈希表中,如果存在已有元素,则输出,然后遍历集合
*/
public class t12_9 {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashSet<String> hs=new HashSet<String>();
for(String i:args)
if(!hs.add(i))//如果表中存在相同元素,就输出
System.out.println(i);
Iterator<String> iterator=hs.iterator();
while(iterator.hasNext())//遍历
{
String str=iterator.next();
System.out.print(str+" ");
}
}
}
java t12_9 i come i see i go
i
i
see go i come