TreeSet子类

TreeSet子类

TreeSet子类可以针对设置的数据进行排序保存。
在这里插入图片描述
范例:使用TreeSet保存数据

package com.lxh.eighteenchapter;

import java.util.Set;
import java.util.TreeSet;

public class JavaCollectionDemo489 {
       public static void main(String[] args) {
		  Set<String> all=new TreeSet<String>();
		  all.add("张三");
		  all.add("李四");
		  all.add("王五");
		  all.add("周六");
		  all.add("6");
		  System.out.println(all);
	}
}

执行结果

[6, 周六, 张三, 李四, 王五]

所以保存的数据会按照由小到大的顺序(字符串会按照字母大小顺序依次比较)排列。

TreeSet子类排序分析

TreeSet类在进行有序数据存储时依据的是Comparable接口实现排序,并且也是依据Comparable接口中的compareTo()方法来判断重复元素,所以在使用TreeSet进行自定义类对象保存时必须实现Comparable接口,但是在覆写compareTo()方法时需要进行类中全部属性的比较,否则会出现部分属性相同时被误判为同一对象,导致重复元素判断失败。

重复元素消除

hash码:public int hashCode();
对象比较:public boolean equals(Object obj)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值