javaSE 13(1)Set
2021-03-05 08:29
标签:ase tor 内容 port div err instance 返回值 没有 主要是介绍Set(集合) javaSE 13(1)Set 标签:ase tor 内容 port div err instance 返回值 没有 原文地址:https://www.cnblogs.com/quenvpengyou/p/14324574.html 1 package LS_13;
2
3 import java.util.HashSet;
4 import java.util.Set;
5
6 public class TestSet01 {
7 //set接口的特点
8 //扩展Collection接口
9 //不允许排序
10 //没有排序
11 //允许一个null值
12 //对add(),元素的equals()和hashcode()方法的添加
13 //HashSet是其实现类
14 public static void main(String[] args) {
15 Set set = new HashSet();
16 System.out.println(set);//对toString重写
17
18 //元素的添加(添加什么都可以)
19 set.add(1);
20 set.add(false);
21 set.add(false);//不允许重复,所以只有一个false
22 set.add(new Object());
23 System.out.println(set);
24 //批量添加元素
25 Set temp = new HashSet();
26 temp.add("1");
27 temp.add("2");
28 temp.add("3");
29 set.addAll(temp);
30 System.out.println(set);
31
32 //addAll()也有返回值,但是当所以都不成功,才会false,就是说添加的都是重复的
33 boolean bp = set.add("小明");//返回是否添加成功
34 System.out.println(bp);
35 System.out.println(set);
36
37 //单个移除,也有返回值
38 boolean s = set.remove("小明");
39 System.out.println(s);
40 System.out.println(set);
41
42 //批量移除
43 Set set1 = new HashSet();
44 set1.add(1);
45 set1.add("false");
46 bp = set.removeAll(set1);
47 System.out.println(bp);//移除一个就是成功的
48 System.out.println(set);
49
50 //获取长度
51 System.out.println("set.size()"+set.size());
52 //判空
53 System.out.println("set.isEmpty"+set.isEmpty());
54
55 //清空:是清空集合的内容,集合对象是存在的
56 set1.clear();
57 System.out.println(set1);
58
59 //包含
60 System.out.println(set);
61 System.out.println(set.contains(2));
62
63
64 }
65 }
1 package LS_13;
2
3 import java.util.HashSet;
4 import java.util.Iterator;
5 import java.util.Set;
6
7 public class Student {
8 int id;
9 String name;
10 public Student(int id , String name){
11 this.id = id;
12 this.name = name;
13 }
14
15 @Override
16 public int hashCode() {
17 System.out.println("调用hashCode");
18 return this.id;//重写方法
19 }
20
21 @Override
22 public boolean equals(Object obj) {
23 System.out.println("调用equals()");
24 if(this == obj) {
25 return true;
26 }
27 if(obj instanceof Student){
28 Student student = (Student)obj;
29 return this.id == student.id;
30 }
31 return false;
32 }
33
34 public static void main(String[] args) {
35 Student s1 = new Student(1,"小明");
36 Student s2 = new Student(1,"小红");
37
38 Set set = new HashSet();
39 set.add(s1);
40 set.add(s2);
41 //哈希值判断、equals判断
42 System.out.println(s1.hashCode());
43 System.out.println(s2.hashCode());
44 System.out.println(set);
45
46 //迭代器
47 Iterator it = set.iterator();
48 while (it.hasNext()){
49 System.out.println(it.next());
50 }
51 }
52
53 }