谁能生吃剧情详细解析析下C#中的CompareTo和Compare的用法

从简单的例子来分析CompareTo()与Comparable()的源码有何不同?
从简单的例子来分析CompareTo()与Comparable()的源码有何不同?
朝思恣游乐
最近急着找工作,也没什么写文章,想着技术沉淀一下,再来头条号装逼。不巧的是,今天复习TreeSet的时候呢,了解到TreeSet的底层会调用compareTo(T o)的方法来比较元素之间的大小,且分为自然排序和定制排序。于是简单的研究了一下在实现compareTo(Object obj)和compare(T o1, T o2);废话不多说,现在先来看两个例子,再看源码,众所周知的原因,我把代码的格式调了一下,但是不影响观看。ComparatorTest的例子ComparableTest首先来看一下,Comparable接口,它是一个函数式接口,里面只有一个方法。如下:public int compareTo(T o);Arrays.sort()源码解析下面再来看一下Comparator.同样也是一个函数式接口。TreeSet中规定:如果试图把一个对象加入到TreeSet中,则该对象的类必须实现Comparable接口,否则将会抛出异常。因为我们在添加元素时,就会调用该对象的compareTo(T o)方法与集合中其他元素进行比较。上图中有个点没说完,两次调用sort的参数是不一样的。进入sort方法。如下所示:多说一句,用Arrays.sort(list)时,出现的是下面的方法,注意行号:实际上我们发现一个很有意思的事情:compare(T o1, T o2)的实现还是调用了compareTo(T o)。暂时写这么多吧,其实要说要写的东西还有很多,路漫漫其修远兮!
本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。
朝思恣游乐
百家号 最近更新:
简介: 简单只因有你的陪伴。
作者最新文章扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
下载作业帮安装包
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
compare with和compare to的区别我想知道这两个有什么不同!并且附上例子和中文!
剑舞雄风e5昣N
扫二维码下载作业帮
拍照搜题,秒出答案,一键查看所有搜题记录
compare…with…表示“把……与……相比(同类相比)”,compare…to…表示“把……比做……(异类相比,比喻)”.在表示“把……与……相比”时,compare…with与compare…to…皆可用,尤其是用在过去分词作状语的句子中.Shakespeare compared the world to a stage.莎士比亚把人世比做舞台.Compare your answers with those at the back of the book to see if they are right.把你的答案同书后面的答案对照一下,看看是否正确.
其他类似问题
扫描下载二维码compare_to与compare_with的区别_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
compare_to与compare_with的区别
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 小岛惊魂详细解析 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信