hashset是无序的,list是有序的,请问这句话是什么意思,怎么理解

喝不hh的龙虾2022-10-04 11:39:541条回答

已提交,审核后显示!提交回复

共1条回复
xiexinzhe 共回答了22个问题 | 采纳率90.9%
举个简单的例子吧,比如有元素1,2,3,4
那么按顺序插入hashset与list中,但输出不同
hashset无序,所以各种可能的输出都有可能,比如4,2,3,1
而list有序,肯定会输出1,2,3,4
1年前

相关推荐

下列哪些容器不能包含重复对象 A .arraylist B.treeset C.vector D.hashset
zmzzzn1631年前1
lijiaokok 共回答了13个问题 | 采纳率84.6%
hashset
不能包含重复对象
TreeSet和HashSet的区别?最近学到数据结构,对于二者感到迷惑,只知道前者有序,后者无序,两者都不能
TreeSet和HashSet的区别?最近学到数据结构,对于二者感到迷惑,只知道前者有序,后者无序,两者都不能
TreeSet和HashSet的区别?
对于二者感到迷惑,只知道前者有序,后者无序,两者都不能有重复元素.我想知道TreeSet是怎么实现有序的,它是按什么规则排序的?另外就是它们怎么保证元素的不重复,是根据什么判断两个元素相同而不再添加的呢?
肖远刚1年前1
爱上ww的天使 共回答了17个问题 | 采纳率100%
其实你知道这些已经可以了,但是如果你真想知道底层是怎么样实现的,你可以关联SDK源代码,然后用鼠标点进去看底层源代码.至于保证元素的不重复,是根据hashcode还有equals方法和已经实现的比较器来确定的,比如字符串,这三个东西都默认已经实现,如果是自定义的类则要实现这三个东西的,这些,我也没看过源代码,是根据对java的“感觉”来说的,哈.
怎么理解Set集合中的HashSet中的元素是无序的?
济世_cc1年前1
彭吉吉 共回答了19个问题 | 采纳率89.5%
要理解这个问题应该考虑到Set是个接口.接口的契约很单纯,不会做过多的保证.Set的契约重点就是“元素不重复的集合”,而对顺序不做保证(也就是不做限制,有序无序都可以).实现该接口的类既可以提供有序的实现,也可以提供无序的实现.
HashSet在保存数据的时候显然还是得按一定顺序放入其背后的数组中,但顺序不是用户可控制的,对用户来说就是“无序”.
与之相对,SortedSet接口的契约就包含了“元素不重复,且按照用户指定的方式排序的集合”的意义.SortedSet接口满足Set接口的契约,并额外添加的“有序”的契约.
什么叫做Hash表?hash算法?hashmap?hashset?
mopeiqin1年前1
zhang_james 共回答了14个问题 | 采纳率78.6%
看看面试宝典,对数据结构有很深的讲解,hashtable hashmap的区别,面试很容易问到……貌似记得,hashmap是hashtable的轻量级实现,前者允许空键值对,Hashtable的方法是Synchronize的,而HashMap不是,由于线程安全,前者效率高于后者