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

 

posted @ 2020-05-11 19:32  已老  阅读(393)  评论(0)    收藏  举报