javaSE 13(1)Set

2021-03-05 08:29

阅读:631

标签:ase   tor   内容   port   div   err   instance   返回值   没有   

主要是介绍Set(集合)

技术图片技术图片
 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 }
Set
技术图片技术图片
 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 }
Set不重复判断的机制

 

javaSE 13(1)Set

标签:ase   tor   内容   port   div   err   instance   返回值   没有   

原文地址:https://www.cnblogs.com/quenvpengyou/p/14324574.html


评论


亲,登录后才可以留言!