先通过hashCode()方法(该方法属于Object类的方法)求新增数据的哈希值(简单来说可以理解为地址值),再将新增数据的哈希值%数组长度,得到余数,即为新增数据在数组中的索引值位置,此时如果该位置为null:则直接新增到该位置,如果不为null:则判断两个元素的哈希值&& (地址值||equals),如果哈希值和地址值或者哈希值与equals有一个条件满足,就认为是同一个元素,就不会新增,如果哈希值和地址值或者哈希值与equals两个条件都不满足,则新增挂到链表的最后位置。
代码公式如下:
具体代码如下:
代码中添加了两个的djx,经过代码公式判定为重复,不会将后面的djx添加进集合中。