From 7e7655df7ad2e921bf8caae35e4853d3c5fcd9e5 Mon Sep 17 00:00:00 2001 From: baichangfu Date: Sun, 13 Dec 2020 18:50:05 +0800 Subject: [PATCH] fix wrong punctuation or character --- docs/basics/java-basic/set-repetition.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/basics/java-basic/set-repetition.md b/docs/basics/java-basic/set-repetition.md index e290e93..56dcc8f 100644 --- a/docs/basics/java-basic/set-repetition.md +++ b/docs/basics/java-basic/set-repetition.md @@ -1,9 +1,9 @@ 在Java的Set体系中,根据实现方式不同主要分为两大类。HashSet和TreeSet。 -1、TreeSet 是二叉树实现的,Treeset中的数据是自动排好序的,不允许放入null值 -2、HashSet 是哈希表实现的,HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束 +1、TreeSet 是二叉树实现的,TreeSet中的数据是自动排好序的,不允许放入null值 +2、HashSet 是哈希表实现的,HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束 -在HashSet中,基本的操作都是有HashMap底层实现的,因为HashSet底层是用HashMap存储数据的。当向HashSet中添加元素的时候,首先计算元素的hashcode值,然后通过扰动计算和按位与的方式计算出这个元素的存储位置,如果这个位置位空,就将元素添加进去;如果不为空,则用equals方法比较元素是否相等,相等就不添加,否则找一个空位添加。 +在HashSet中,基本的操作都是由HashMap底层实现的,因为HashSet底层是用HashMap存储数据的。当向HashSet中添加元素的时候,首先计算元素的hashCode值,然后通过扰动计算和按位与的方式计算出这个元素的存储位置,如果这个位置为空,就将元素添加进去;如果不为空,则用equals方法比较元素是否相等,相等就不添加,否则找一个空位添加。 TreeSet的底层是TreeMap的keySet(),而TreeMap是基于红黑树实现的,红黑树是一种平衡二叉查找树,它能保证任何一个节点的左右子树的高度差不会超过较矮的那棵的一倍。 -- GitLab