如何使用Comparable接口
短信预约 -IT技能 免费直播动态提醒
这篇文章主要介绍“如何使用Comparable接口”,在日常操作中,相信很多人在如何使用Comparable接口问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Comparable接口”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Comparable接口,直译过来也就是比较器,通常用于实现指定对象的排序规则。Comparable接口的定义如下:
public interface Comparable<T>{ public int compareTo(T o); }
compareTo()方法返回一个int类型的值,此返回值只有以下三个:
表示大于
-1:表示小于
0:表示等于
基于Comparable接口实现的二叉树操作
package com.java.thread; 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接口”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341