• javaSE 13(1)Set


    主要是介绍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不重复判断的机制
    会当凌绝顶,一览众山小
  • 相关阅读:
    iOS 手势操作:拖动、捏合、旋转、点按、长按、轻扫、自定义
    一个基于MVVM的TableView组件化实现方案
    代码审查和不良编程习惯
    十二步创建你的第一个JavaScript库
    可简单避免的三个 JavaScript 发布错误
    巧用Javascript将相对路径地址转换为绝对路径
    jquery 事件对象属性小结
    26个Jquery使用小技巧
    应用于网站导航中的 12 个 jQuery 插件
    使用 jQuery 避免鼠标双击
  • 原文地址:https://www.cnblogs.com/quenvpengyou/p/14324574.html
Copyright © 2020-2023  润新知