• java中的全等和相似


    package pack2;
    
    import java.util.*;
    
    /*Node 的equals()和hashCode()两个函数缺一不可
     * HashSet会通过这两个函数来判断两个元素是否等价
     * HashSet满足元素互异性
     */
    class Node {
        public int number;
    
        public Node(int n) {
            number = n;
        }
    
        public boolean equals(Object o) {
            if (number == ((Node) o).number)
                return true;
            else
                return false;
        }
        // public int hashCode(){ return number; }
    }
    
    public class HashSetTest {
    
        public static void main(String[] args) {
            HashSet<Node> set = new HashSet<Node>();
            set.add(new Node(3));
            set.add(new Node(3));
            System.out.println(set.size());
        }
    }
    

     如果没有实现hashCode,输出为2.因为HashSet<Node>认为这两个东西不全等

    如果实现了hashCode,输出为1,因为HashSet<Node>中没有重复元素

    在java中,全等意思是hashCode相等并且a.equals(b)

    在java中,a.equals(b)表示a与b相似

  • 相关阅读:
    Java 学习资料
    01 html5
    vscode 插件推荐
    08 css高级
    07 css定位
    06 css布局浮动
    05 css盒子
    04 css复合选择器 标签 行高
    03 css字体样式
    02 css基础选择器
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/5068258.html
Copyright © 2020-2023  润新知