只是试着讨论和理解以下代码之间的区别。
A>
SortedSet<String> set = new TreeSet<>();
set.addAll(str);
int hashcode= set.toString().hashCode();b>
SortedSet<String> set = new TreeSet<>();
set.addAll(str);
int hashcode = set.hashCode();我已经检查过,如果你将相同的字符串元素以任何顺序放入两个集合中,hashcode返回值将是相同的。我只想知道条件a>是否比
发布于 2020-03-20 22:23:50
第一个代码片段将集合转换为字符串(一个潜在的繁重操作),然后对其进行散列。第二个函数直接对集合进行散列。
由于相等的集合会产生相等的字符串和相等的散列,所以这两种方法在技术上都是可以的,但首先将集合转换为字符串(方法a)实际上是多余的-使用它没有任何好处,而且您所做的一切都是在将资源浪费在转换为字符串上。
https://stackoverflow.com/questions/60775982
复制相似问题