美文网首页
Java Set/List 知识点 Java面试 基础面试题

Java Set/List 知识点 Java面试 基础面试题

作者: Fuuqiu | 来源:发表于2020-06-15 18:32 被阅读0次

Java Set/List 知识点

Set与List区别

  • List 有序、值可重复,内部数据结构 Obejct[ ] 数组
  • Set 无序、值不重复,内部数据结构 HashMap key=object value固定new Object()

ArrayList

  • 有序存储元素
  • 允许元素重复,允许存储 null
  • 支持动态扩容
  • 非线程安全

HashSet、LinkedHashSet、TreeSet的区别(面试常问)

HashSet、LinkedHashSet、TreeSet是实现Set接口的3个实现类,其中:

HashSet只是通用的存储数据的集合,

LinkedHashSet的主要功能用于保证FIFO(先进先出)即有序的集合,

TreeSet的主要功能用于排序(自然排序或者比较器排序)

相同点

1)HashSet、LinkedHashSet、TreeSet都实现了Set接口

2)三者都保证了元素的唯一性,即不允许元素重复

3)三者都不是线程安全的

可以使用Collections.synchronizedSet()方法来保证线程安全

不同点

HashSet不保证元素的顺序

LinkHashSet保证FIFO即按插入顺序排序

TreeSet保证元素的顺序,支持自定义排序规则

相关文章

网友评论

      本文标题:Java Set/List 知识点 Java面试 基础面试题

      本文链接:https://www.haomeiwen.com/subject/wophxktx.html