自学内容网 自学内容网

蓝桥杯-Set

目录

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+" ");
}
}
}


原文地址:https://blog.csdn.net/weixin_62944148/article/details/136510179

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!