当前位置: 首页 > 面试题库 >

Java:set有哪些实现类?

葛永丰
2023-04-24

(1)HashSet

HashSet是set接口的实现类,set下面最主要的实现类就是HashSet(也就是用的最多的),此外还有LinkedHashSet和TreeSet。
HashSet是无序的、不可重复的。通过对象的hashCode和equals方法保证对象的唯一性。
HashSet内部的存储结构是哈希表,是线程不安全的。

(2)TreeSet

TreeSet对元素进行排序的方式:

元素自身具备比较功能,需要实现Comparable接口,并覆盖compareTo方法。
元素自身不具备比较功能,需要实现Comparator接口,并覆盖compare方法。

(3)LinkedHashSet

LinkedHashSet是一种有序的Set集合,即其元素的存入和输出的顺序是相同的。

 类似资料:
  • 本文向大家介绍spring 事务实现方式有哪些?相关面试题,主要包含被问及spring 事务实现方式有哪些?时的应答技巧和注意事项,需要的朋友参考一下 声明式事务:声明式事务也有两种实现方式,基于 xml 配置文件的方式和注解方式(在类上添加 @Transaction 注解)。 编码方式:提供编码的形式管理和维护事务。

  • 本文向大家介绍SPA单页面的实现方式有哪些?相关面试题,主要包含被问及SPA单页面的实现方式有哪些?时的应答技巧和注意事项,需要的朋友参考一下 1.监听地址栏中hash变化驱动界面变化 2.用pushsate记录浏览器的历史,驱动界面发送变化 3.直接在界面用普通事件驱动界面变化 它们都是遵循同一种原则:div 的显示与隐藏

  • 本文向大家介绍实现异步编程有哪些方式?推荐用哪种?相关面试题,主要包含被问及实现异步编程有哪些方式?推荐用哪种?时的应答技巧和注意事项,需要的朋友参考一下 回调函数: 最传统的异步处理,下一步的操作交给前一步来控制。当要处理的内容较多时,会出现回调地狱。代码会比较难维护和处理。 Generator: 通过迭代器来实现异步操作。 Promise: ES6 新增特性。通过 和 来实现异步操作。 asy

  • 本文向大家介绍html实现页面跳转都有哪些方法?相关面试题,主要包含被问及html实现页面跳转都有哪些方法?时的应答技巧和注意事项,需要的朋友参考一下 创建A标签跳转 form submit

  • 本文向大家介绍vue过渡动画实现的方式有哪些?相关面试题,主要包含被问及vue过渡动画实现的方式有哪些?时的应答技巧和注意事项,需要的朋友参考一下 1.使用vue的transition标签结合css样式完成动画 2.利用animate.css结合transition实现动画 3.利用 vue中的钩子函数实现动画

  • 本文向大家介绍举例说明实现圆角的方式有哪些?相关面试题,主要包含被问及举例说明实现圆角的方式有哪些?时的应答技巧和注意事项,需要的朋友参考一下 只用过border-radius: xxx; : top-left,bottom-right; top-right, bottom-left : top-left; top-right, bottom-right; bottom-left : top-le