hashCode equals hashSet

HashSet add, remove

import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

public class Sets {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Person p1 = new Person("320321");
        p1.setAge(22);
        p1.setName("p1");
        Person p2 = new Person("320321");
        p2.setAge(23);
        p2.setName("p2");
        Person p3 = new Person("320322");
        p3.setAge(22);
        p3.setName("p3");
        Person p4=new Person("320321");
        p4.setAge(22);
        p4.setName("p4");
        Set<Person> hashSet = new HashSet();
        hashSet.add(p1);
        hashSet.add(p2);
        //
        System.out.println(hashSet);
        hashSet.add(p3);
        //
        System.out.println(hashSet);
        hashSet.add(p4);
        //
        System.out.println(hashSet);
    }
}
时间: 2024-10-12 19:15:14

hashCode equals hashSet的相关文章

HashSet——add remove contains方法底层代码分析(hashCode equals 方法的重写)

引言:我们都知道HashSet这个类有add   remove   contains方法,但是我们要深刻理解到底是怎么判断它是否重复加入了,什么时候才移除,什么时候才算是包括????????? add()方法 首先我们看下这个代码 1 package com.xt.set; 2 3 import java.util.HashSet; 4 import java.util.Iterator; 5 import java.util.Set; 6 7 public class AddTest { 8

Java hashCode(), equals()

转自:http://blog.csdn.net/fenglibing/article/details/8905007冯立彬的博客 以下是关于HashCode的官方文档定义: hashcode方法返回该对象的哈希码值.支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表. hashCode 的常规协定是: 在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是对象上 equals 比较中所用的信息没有

3.Java hashCode() equals总结

1.hashCode存在的意义在于查找的快捷性,如Hashtable,HashMap等.hashCode是用来在散列存储结构中确定对象的存储地址的. 2.两个对象如果相同,那么两个对象的hash'Code一定要相同. 3.如果对象的equals方法被重写,那么对象的hashCode也重写,并且产生hashCode使用的对象,一定要和equals方法中使用的一致. 4.两个对象的hashCode相同,并不一定表示两个对象就相同,只能够说明这两个对象在散列存储结构中,如Hashtable,他们存放在

String类型中ToString hashCode equals compareTo等方法的经典实现

private final char value[]; private int hash; // Default to 0 public String(String original) { this.value = original.value; this.hash = original.hash; } public String(char value[]) { this.value = Arrays.copyOf(value, value.length); } String: |--Compa

java高级特性之集合概述

java中的集合概述 map 接口 总结 java集合学习 1 java中存储数据的方式 1 数组 (基本数据类型+引用数据类型).2 集合(对象) 数组存储数据的缺点1:数组一旦创建,长度固定 2:数组不能直接确定有效元素的个数 java中的集合概述: java集合接口:Collection 接口 和Map 接口 (Collection接口 表示不按照添加顺序存放对象的集合,而且集合内的元素可以重复即 无序可重复 集合,它是List,Set,Queue..接口的父接口) Collection

Java基础学习笔记十六 集合框架(二)

List List接口的特点: 它是一个元素存取有序的集合.例如,存元素的顺序是11.22.33.那么集合中,元素的存储就是按照11.22.33的顺序完成的. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理). 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素. List接口的常用子类有: ArrayList集合 LinkedList集合 List接口的特有方法(带索引的方法)1.增加元素方法 add(Object e):向集合末尾

19_集合_第19天(List、Set)_讲义

今日内容介绍 1.List接口 2.Set接口 3.判断集合唯一性原理 非常重要的关系图 xmind下载地址 链接:https://pan.baidu.com/s/1kx0XabmT27pt4Ll9AqzVog 密码:bjgt 01List接口的特点 A:List接口的特点: a:它是一个元素存取有序的集合. 例如,存元素的顺序是11.22.33.那么集合中,元素的存储就是按照11.22.33的顺序完成的). b:它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道

10、List、Set

List接口 List接口的特点 *A:List接口的特点: a:它是一个元素存取有序的集合. 例如,存元素的顺序是11.22.33.那么集合中,元素的存储就是按照11.22.33的顺序完成的). b:它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理). c:集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素. d:List接口的常用子类有: ArrayList集合 LinkedList集合 List接口的特有方法 *A:List接口的

hashcode 和equals 及HashSet判断对象相等

hashcode()和equals()及HashSet判断对象相等.1. 首先equals()和hashcode()这两个方法都是从object类中继承过来的.public boolean equals(Object obj)    指示某个其他对象是否与此对象“相等”.     equals 方法在非空对象引用上实现相等关系:      * 自反性:对于任何非空引用值 x,x.equals(x) 都应返回 true.      * 对称性:对于任何非空引用值 x 和 y,当且仅当 y.equa