2.HashSet,TreeSet,以及Set和Map的区别,List和Set的区别
HashSet,TreeSet的区别
一、实现方式
HashSet:HashSet是哈希表实现的。是线程不安全的(如果元素要存储到HashCode中,必须覆盖hashCode方法和equals方法。)
TreeSet:TreeSet是二差树实现的。是线程不安全的。
二、数据是否有序
HashSet:HashSet中的数据是无序的。
TreeSet:Treeset中的数据是自动排好序的。(TreeSet类实现了SortedSet接口,能够对集合中的对象进行排序。元素自身具备比较功能,即自然排序,需要实现Comparable接口,并覆盖其compareTo方法。元素自身不具备比较功能,则需要实现Comparator接口,并覆盖其compare方法。)
三、是否可以放入null值
HashSet:可以放入null,但只能放入一个null。
TreeSet:不允许放入null值。
List、Set和Map的区别
List可重复 查询快,插入删除慢 继承Collection
Map适合储存键值对的数据 键不可重复
Set是最简单的一种集合。集合中的对象不按特定的方式排序,并且没有重复对象。查询慢,新增删除快 继承Collection
古之善为士者,微妙玄通,深不可识

浙公网安备 33010602011771号