这篇文章主要介绍“如何使用Comparable接口”,在日常操作中,相信很多人在如何使用Comparable接口问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Comparable接口”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
10年积累的成都网站设计、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有阿拉善盟免费网站建设让你可以放心的选择与我们合作。
Comparable接口,直译过来也就是比较器,通常用于实现指定对象的排序规则。Comparable接口的定义如下:
public interface Comparable{ public int compareTo(T o); }
compareTo()方法返回一个int类型的值,此返回值只有以下三个:
1:表示大于
-1:表示小于
0:表示等于
基于Comparable接口实现的二叉树操作
/** * */ package com.java.thread; /** * @author JimyChen * @date 2009-9-1 */ class BinaryTree{ class Node{ private Comparable data; private Node left; private Node right; public void addNode(Node newNode){ if(newNode.data.compareTo(this.data) < 0){//这里关键要搞清楚这个this的含义 if(this.left==null){ this.left=newNode; }else{ this.left.addNode(newNode); } } if(newNode.data.compareTo(this.data) >= 0){ if(this.right==null){ this.right=newNode; }else{ this.right.addNode(newNode); } } } public void printNode(){ if(this.left!=null){ this.left.printNode(); } System.out.print(this.data+"\t"); if(this.right!=null){ this.right.printNode(); } } }; private Node root; public void add(Comparable data){ Node newNode=new Node(); newNode.data=data; if(root==null){ root=newNode; }else{ root.addNode(newNode); } } public void print(){ this.root.printNode(); } }; public class ComparableDemo{ public static void main(String[] args){ BinaryTree bt=new BinaryTree(); bt.add(9); bt.add(8); bt.add(10); bt.add(3); bt.add(2); bt.add(4); bt.add(5); bt.add(7); System.out.println("The sorted result is: "); bt.print(); } }
此Comparable接口在本机测试通过,结果为:
The sorted result is:
2 3 4 5 7 8 9 10
到此,关于“如何使用Comparable接口”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!