对HashSet的简单理解是,HashSet对象不能包含相同的数据,并且在存储数据时是无序的。 但是,由于散列存储元素的顺序不是以存储时的顺序,而是以“明显不同于列表”的散列值存储,所以数据的获取也是以散列值进行的。 存储无序与c的Set不同。 c的Set是有秩序的。 我认为这是使用时的主要区别。 HashSet的简单使用方法如下所示。
一.申请方式括号内的类型根据你的需要更改。
二.常用方法:
类型名称功能
布尔添加(e )如果当前列表中不存在e,请将e添加到列表中
void clear ()从列表中删除所有元素
布尔内容(objectj )判断列表中是否存在元素j
IteratorE iterator ()获取当前列表中的遍历器
从列表中删除Booleanremove(objectj )列表中的元素j (如果有)
int size ) )得到列表中的要素的数量
.遍历方法:
在迭代器上遍历
这是一种比较常见的方法,但如果您希望在使用时修改HashSet一次,然后再次遍历,则必须重新申请迭代器。 否则无法遍历,但将Itetator放在一个函数中就不需要多次申请Iterator。
2 .这个方法是用for循环遍历。
我觉得这个方法还可以。 具体用那个方法调查自己并斟酌一下。
四.简单使用
package cn.java.text.Main; import java.util.*; 公共类主4//hashsetpublicstaticvoidmain (字符串[ ] args )//todo auto-generatedmethodstubscannerip=new scaner hargs int i; 字符串a字符串; for(I=0; i 6; I ) { aString=ip.next (; Hashset.add(astring ); //加入名单} iteratorstringiterator=hashset.iterator (; //扫描器while(iterator.hasnext () ) system.out.print (iterator.next ) ('); //判断是否存在,如果存在,则输出字符串b字符串; bString=ip.next (; hashset.remove (b字符串); //删除//*迭代器iterator2=hashset.iterator (; while(iterator2.hasnext () ) (/扫描器扫描system.out.print (iterator2. next ) ) ) ''); } */for (字符串字符串: hashset ) system.out.print (字符串' ); //for循环遍历}
五. HashSet为整数时