目录
HashSet类常用方法
1 add(Object obj)方法
2 size() 方法
3 remove(Object obj)方法
4 contains()方法
5 clear() 方法
例题实战
set
一个不允许出现重复的元素,并且无序的集合,主要有HashSet实现类。
在判断重复元素的时候,Set集合会调用hashCode()和equal()方法来实现。
注重独一无二的性质,该体系集合可以知道某物是否是存在与集合中
用于存储无序(存入和去除的顺序不一定相同)元素,值不能重复。
特点:
可以用来去重 元素无序
HashSet类常用方法
1 add(Object obj)方法
用于向Set集合中添加元素,添加成功返回true,否则返回false。
创建HashSet对象set,用于保存字符串元素:
Set<String> set=new HashSet<>();
也可以用来保存整数元素:Set<Integer> set=new HashSet<>();
package AAA;
import java.util.*;public class Main1 {public static void main(String args[]) {Set<Integer> set=new HashSet<>();boolean a=set.add(1);boolean b=set.add(1);System.out.print(a+" "+b);}
}
结果为true false。说明set中不存在重复元素
2 size() 方法
返回Set集合中的元素个数
package AAA; import java.util.*;public class Main1 {public static void main(String args[]) {Set<Integer> set=new HashSet<>();set.add(1);set.add(1);System.out.println("第一次添加集合中有:"+set.size()+"个元素");set.add(2);System.out.println("此时的集合中有:"+set.size()+"个元素");} }
3 remove(Object obj)方法
删除Set集合中的元素,删除成功返回true,否则返回false.
4 contains()方法
如果Set不包含元素,则返回true,否则返回false.
5 clear() 方法
移除此Set 中的所有元素
例题实战
题目:明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(1<=N<=100),对于其中重复的数字只能保留一个,其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些书从小到大排列,按照排列好的顺序去找同学做调查。请你协作明明完成“去重”与“排序”的工作
输入
10
20 40 32 67 40 20 89 300 400 15
输出
8
15 20 32 40 67 89 300 400
package AAA;import java.sql.Array; import java.util.*;public class Main2 {public static void main(String args[]) {//System.out.println("请输入您所需要计算机随机产生的整数个数:");Scanner scanner =new Scanner(System.in); int a=scanner.nextInt();//确定数组长度int c[]=new int[a];for(int i=0;i<a;i++) {c[i]=scanner.nextInt();}//接受数据Set<Integer> set=new HashSet<>();List<Integer> list=new ArrayList();for(int i=0;i<a;i++) {if(!set.contains(c[i])) {set.add(c[i]);list.add(c[i]);//虽然set有去重效果,但是list没有,所以需要条件}//去重}System.out.println("去重后的结果:");for(int x:set) {System.out.print(x+" "); }System.out.println();System.out.println("去重后的整数个数:");System.out.println(set.size());Collections.sort(list);System.out.println("排序后的结果:");for(int x:list) {System.out.print(x+" "); }} }