`

基础——HashSet集合底层原理0523

 
阅读更多
package cn.mmc.day14;
import java.util.*;
/*
|--Set:元素是无序(存入和取出的顺序不一定一致),元素不可以重复。、
	|--HashSet:底层数据结构是哈希表。是线程不安全的。不同步。
	       原理:HashSet是如何保证元素唯一性的呢?
			是通过元素的两个方法,hashCode和equals来完成。
			当add元素时,先要比较元素的HashCode值
			如果元素的HashCode值相同,才会判断equals是否为true。
			如果元素的hashcode值不同,不会调用equals。

			注意,对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashcode和equals方法。
	当我们使用自定义class对象时,要覆写hashCode和equal方法,以保证对象的唯一性

	|--TreeSet:

Set集合的功能和Collection是一致的。



 
*/


public class SetTest {

	public static void sop(Object obj)
	{
		System.out.println(obj);
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		HashSet hs = new HashSet();

		sop(hs.add("java01"));//true
		sop(hs.add("java01"));//false//元素不可以重复。原理:注意,对于判断元素是否存在,
		//以及删除等操作,依赖的方法是元素的hashcode和equals方法。
	}

}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics