TreeSet简单介绍与使用方法HashSet和TreeSet有什么区别面试题

Posted 平凡加班狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TreeSet简单介绍与使用方法HashSet和TreeSet有什么区别面试题相关的知识,希望对你有一定的参考价值。

系列文章目录

简单使用

在这里插入图片描述

面试题:下面代码输出的是什么

在这里插入图片描述
答案我放最后面了

TreeSet简单介绍:

TreeSet是JAVA中集合的一种,TreeSet 是一个有序的集合,
它的作用是提供有序的Set集合。
它继承于AbstractSet抽象类,
实现了NavigableSet,Cloneable,java.io.Serializable接口

TreeSet是有序的Set集合,因此支持add、remove、get等方法

支持迭代器的方式遍历

for(Iterator iter = set.iterator(); iter.hasNext(); ) { 
    iter.next();
}   

// 假设set是TreeSet对象
for(Iterator iter = set.descendingIterator(); iter.hasNext(); ) { 
    iter.next();
}

TreeSet不支持快速随机遍历,只能通过迭代器进行遍历

import java.util.*;
public class TreeSetDemo {
   public static void main(String args[]) {
      // Create a tree set
      TreeSet ts = new TreeSet();
      // Add elements to the tree set
      ts.add("C");
      ts.add("A");
      ts.add("B");
      ts.add("E");
      ts.add("F");
      ts.add("D");
      System.out.println(ts);
   }
}

注意

HashSet和TreeSet有什么区别?
相同点:1、单列存储 2、元素不可重复
不同点:1、底层数据结构不同(HashSet=哈希表结构 TreeSet=二叉树结构)
2、数据唯一性依据不同(HashSet通过重写hashcode和equals TreeSet通过compareable接口)
3、有序性不同,HashSet无序,TreeSet有序

面试题答案

在这里插入图片描述

以上是关于TreeSet简单介绍与使用方法HashSet和TreeSet有什么区别面试题的主要内容,如果未能解决你的问题,请参考以下文章

hashset和treeset区别

HashSet和TreeSet的区别

HashSet与TreeSet

HashSet与TreeSet

Java集合 -- HashSet 与TreeSet和LinkedHashSet的区别

Java——HashSet和TreeSet的区别