如何实现一种兼容Set的无序以及List的可重复的数据结构

发布时间:2021-12-18 13:38:11 作者:柒染
来源:亿速云 阅读:113

如何实现一种兼容Set的无序以及List的可重复的数据结构,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Java 中,提供了很多常用的数据结构。比如,Map、List、Set 等。但是,在很多时候,我们可能需要统计某个数据出现的次数,这时往往我们的实现代码可能如下所示:

如何实现一种兼容Set的无序以及List的可重复的数据结构

如果在多个项目,或者是一个项目中,有多个方法,多个功能需要这种统计功能。那么能不能把这种实现,抽取成一个新的数据结构,方便我们在任何地方使用?这就是本文所要说的,一种兼容Set的无序,List的可重复的数据结构:Multiset。

如何实现一种兼容Set的无序以及List的可重复的数据结构  

这个问题,有可能你在面试中也会被问到。因为数据结构,看似最枯燥,但它具有最长久的生命力。

Guava 类库中提供了一种兼容 Set 的无序,List 的可重复的数据结构 Multiset。Multiset 底层还是数据结构,它就相当于对我们上面的代码进行了封装。同时也算是对 Java 中数据结构的一种扩展。

如何实现一种兼容Set的无序以及List的可重复的数据结构

当使用 Multiset 后,我们的代码就变得非常的简单了。我们只需存放,而最终的出现次数,重复次数,只需要通过 count 方法就可以获得,非常的方便。

同时 Multiset 还提供了 setCount(E, int) 方法,可以修改元素 E 在 Multiset 中的次数,但是不能把元素出现的次数修改为负数和大于 Integer.MAX_VALUE 的值,否则将会抛出异常。

Multiset 中的几个特点,可以总结如下:

关于如何实现一种兼容Set的无序以及List的可重复的数据结构问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

推荐阅读:
  1. 重要数据结构——list,tuple,set,dict
  2. 链表节点的删除(删除重复无序节点)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

set list

上一篇:如何使用TouchGFX的MVP架构来实现GUI和硬件的双向交互

下一篇:如何进行springboot配置templates直接访问的实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》