【学习总结】TreeSet 与 HashSet 的区别

一、底层数据结构不同

  • HashSet:HashSet 是哈希表(HashMap)实现的。
  • TreeSet:TreeSet 是使用二叉树原理的 TreeMap 实现的。

二、数据的排列

  • HashSet:HashSet中的数据是无序的。
  • TreeSet:Treeset中的数据是自动排好序的。
TreeSet<student> ts=new TreeSet<Employee>(new Comparator<Employee>() {
	@Override
	public int compare(Employee e1, Employee e2) {
		int num = e1.salary - e2.salary;
		int num2 = num == 0 ? e1.number - e2.number : num;
		return num2;
	}
});

三、存放数据的要求

  • HashSet:可以放入null,但只能放入一个null。
  • TreeSet:不允许放入null值。
发布了300 篇原创文章 · 获赞 48 · 访问量 8077

猜你喜欢

转载自blog.csdn.net/qq_43539599/article/details/103979991