Java 之 TreeSet集合

Posted 格物致知_Tony

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 之 TreeSet集合相关的知识,希望对你有一定的参考价值。

一、概述

TreeSet 集合不可存储重复元素,但是可以给元素排大小。

TreeSet 是如何保证元素不可重复的?

按照元素的大小决定是否相同元素。

二、TreeSet 集合

对于 TreeSet 集合中存储的元素,一定要用 java.lang.Comparable 或 java.util.Comparator 接口。

Demo1:

1 @Test
2 public void test1(){
3     TreeSet set = new TreeSet();
4     //这里因为String类型实现了java.lang.Comparable接口,所以可以添加到TreeSet中
5     set.add("hello");
6     set.add("world");
7     set.add("java");
8     set.add("web");
9 }

 

Demo2:

1 @Test
2 public void test2(){
3     TreeSet set = new TreeSet();
4     //这里因为Object类型没有实现了java.lang.Comparable接口,所以不可以添加到TreeSet中
5     set.add(new Object());
6 }

 

Demo3:

 1 @Test
 2 public void test10(){
 3    //用匿名内部类实现了Comparator接口
 4    TreeSet set = new TreeSet(new Comparator(){
 5 
 6      @Override
 7      public int compare(Object o1, Object o2) {
 8          Student s1 = (Student) o1;
 9          Student s2 = (Student) o2;
10                 return s1.getId() - s2.getId();
11          }});
12         
13      set.add(new Student(3,"张三"));
14      set.add(new Student(1,"李四"));
15      set.add(new Student(2,"王五"));
16         
17         System.out.println(set);
18 }

 

 

 

以上是关于Java 之 TreeSet集合的主要内容,如果未能解决你的问题,请参考以下文章

死磕 java集合之TreeSet源码分析

java源码之TreeSet

一起学习集合框架之 TreeSet

《java入门第一季》之集合框架TreeSet存储元素自然排序以及图解

java TreeSet的排序之定制排序

java集合系列——Set之HashSet和TreeSet介绍