HashSet和TreeSet区别
1、HashSet底层使用Hash表。确保元素唯一性的原理:判断元素的hashCode值是否相同。如果是一样的话,会继续判断元素的equals方法是否是true。
TreeSet底层采用红黑树。
确保元素的唯一性是通过Comparable或Comparator接口实现的。
HashSet和HashMap区别
2、事实上,HashSet的底层实现还是HashMap,只是它只使用了Key,具体如下:
(1)在HashSet的add方法的底层,使用HashMap的put方法将key=e,value=PRESENT构建成key-value键值对,当e存在于HashMap的key中时,value将覆盖原来的value,但key保持不变,因此,如果在HashSet中添加了一个已经存在的e元素,新添加的元素就不会存在于HashMap中,因此这就满足了HashSet中元素不会重复的特性。
(2)HashSet的contains方法使用HashMap得到containsKey方法。
1.简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;
2. 面向对象;
3. 分布性,Java是面向网络的语言;
4. 鲁棒性,java提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误;
5. 安全性,用于网络、分布环境下的Java必须防止病毒的入侵。
6. 体系结构中立,只要安装了Java运行时系统,就可在任意处理器上运行。
7. 可移植性,Java可以方便地移植到网络上的不同机器。
8.解释执行,Java解释器直接对Java字节码进行解释执行。
以上是java中HashSet的使用特点有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!