• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > 浅谈TreeSet中的两种排序方式

浅谈TreeSet中的两种排序方式

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了treeset排序,treeset自然排序,java treeset排序,treeset怎么排序,treeset排序原理等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

直接上代码:

package exercise1;

public class Person implements Comparable{
  private int id;
  private String name;
  public Person(int id, String name) {
    super();
    this.id = id;
    this.name = name;
  }
  public int getId() {
    return id;
  }
  public void setId(int id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String toString() {
    return "Person [id=" + id + ", name=" + name + "]";
  }
  public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + id;
    result = prime * result + ((name == null) ? 0 : name.hashCode());
    return result;
  }
  public boolean equals(Object obj) {
    if (this == obj)
      return true;
    if (obj == null)
      return false;
    if (getClass() != obj.getClass())
      return false;
    Person other = (Person) obj;
    if (id != other.id)
      return false;
    if (name == null) {
      if (other.name != null)
        return false;
    } else if (!name.equals(other.name))
      return false;
    return true;
  }
  public int compareTo(Object o) {
    if(o instanceof Person){
      Person p=(Person)o;
      return this.name.compareTo(p.name);
    }
    return 0;
  }
  
}
</div>
package exercise1;
//TreeSet下的自然排序和定制排序
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
import java.util.function.Function;
import java.util.function.ToDoubleFunction;
import java.util.function.ToIntFunction;
import java.util.function.ToLongFunction;

import org.junit.Test;
//定制排序
public class DisOrder {
  @Test
  public void unNature(){
    Comparator com=new Comparator() {

      public int compare(Object o1, Object o2) {
        if(o1 instanceof Person && o2 instanceof Person){
          Person p1=(Person)o1;
          Person p2=(Person)o2;
          return p1.getName().compareTo(p2.getName());

        }
        return 0;
      }

      
    };
    
    Set set=new TreeSet(com);
    set.add(new Person(111,"MM"));
    set.add(new Person(222,"DD"));
    set.add(new Person(333,"GG"));
      
    for(Object obj:set){
      System.out.println(obj);
    }
  }
  //自然排序
  @Test
  public void nature() {
    Set set=new TreeSet();
    set.add("aa");
    set.add("bb");
    set.add("ff");
    set.add("zz");
    for(Object obj:set){
      System.out.println(obj);
    }
      
    
    
  }
}
</div>

以上这篇浅谈TreeSet中的两种排序方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • TreeSet详解和使用示例_动力节点Java学院整理
  • 浅谈TreeSet中的两种排序方式
  • TreeSet详解和使用示例_动力节点Java学院整理
  • 浅谈TreeSet中的两种排序方式

相关文章

  • 2017-05-28java程序员如何编写更好的单元测试的7个技巧
  • 2017-05-28详解springboot + profile(不同环境读取不同配置)
  • 2017-05-28Java二分法查找_动力节点Java学院整理
  • 2017-05-28详解context root修改无效web修改项目路径(eclipse)
  • 2017-05-28java的JIT 工作原理简单介绍
  • 2017-05-28详解使用Spring MVC统一异常处理实战
  • 2017-05-28老生常谈Log4j和Log4j2的区别(推荐)
  • 2017-05-28ObjectInputStream 和 ObjectOutputStream 介绍_动力节点Java学院整理
  • 2017-05-28详解SpringBoot的事务管理
  • 2017-05-28Java easyui树形表格TreeGrid的实现代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Java web含验证码及权限登录实例代码
    • Java 敏感信息加密处理
    • java并发之ArrayBlockingQueue详细介绍
    • Struts2 文件上传进度条的实现实例代码
    • java中 String和StringBuffer的区别实例详解
    • Spring Boot中整合Spring Security并自定义验证代码实例
    • spring boot 日志配置详解
    • Java Runtime类详解_动力节点Java学院整理
    • java实现输出字符串中第一个出现不重复的字符详解
    • Spring Boot + Jpa(Hibernate) 架构基本配置详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有