zoukankan      html  css  js  c++  java
  • 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不重复判断的机制
    会当凌绝顶,一览众山小
  • 相关阅读:
    JVM系列四:生产环境参数实例及分析【生产环境实例增加中】
    JVM系列三:JVM参数设置、分析
    JVM系列二:GC策略&内存申请、对象衰老
    JVM系列一:JVM内存组成及分配
    windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码
    微信小程序使用字体图标
    Jetson tx2 串口通信
    categorical[np.arange(n), y] = 1 IndexError: index 2 is out of bounds for axis 1 with size 2
    cannot import name '_imaging' 报错
    VS2015 opencv 无法打开文件“opencv_calib3d330d.lib”
  • 原文地址:https://www.cnblogs.com/quenvpengyou/p/14324574.html
Copyright © 2011-2022 走看看