12.Set源码面试题集锦

1.TreeSet在什么场景下使用?
答:一般是在需要把元素进行排序的时候使用TreeSet,使用时需要注意元素最好实现Comparable接口,这样方便底层的TreeMap根据key进行排序。

2.追问,如果想实现根据key的新增顺序进行遍历怎么办?
答:要按照key的新增顺序进行遍历,首先想到的是LinkedHashMap,而LinkedHashSet正好是基于LinkedHashMap实现的,所以可以选择使用LinkedHashSet。

3.追问,如果想对key进行去重,应该怎么办?
答:首先想到的是TreeSet,TreeSet底层使用的是TreeMap,TreeMap在put的时候,如果发现key是相同的,会把value值进行覆盖,所有不会产生重复的key,利用这一特性,使用TreeSet可以进行去重。

你可能感兴趣的:(从头开始学Java源码)