早教吧作业答案频道 -->其他-->
请问JDK中的Comparator这个接口中的publicintcompare(To1,To2)这个方法,o1o2到底分别是什么?打个比方我现在使用TreeSet往集合里添加元素,treeset.add(10);treeset.add(20);当调用Compare(To1,To2)这个方法
题目详情
请问JDK中的Comparator这个接口中的public int compare ( T o1,T o2 ) 这个方法,o1 o2到底分别是什么?打个比方我现在使用TreeSet往集合里添加元素,treeset.add(10); treeset.add(20); 当调用Compare (T o1,T o2 )这个方法的时候,它是会把10传给o1呢?还是会把20传给o1呢?如果是按照这种先后顺序的传值,是不是我把原先的treeset.add (10)与treeset.add(20)的先后顺序颠倒之后,输出的先后顺序也会反转呢?但事实证明不是这样的,无论我把treeset.add() 的两句代码如何颠倒,都不会影响输出的顺序,这到底又是为什么呢?
▼优质解答
答案和解析
第1个问号 o1/o2是T类型、即是表示泛型!相当于指所有类型.
第2个问号,是的.
第3个问号,输出是正序、还是倒序,看compare(...)当中的比较和返回值,
10和20比较,返回-1正序、返回1倒序(0是相等,这时不会出现),
第4个问号,见第3个问号的回答.
第2个问号,是的.
第3个问号,输出是正序、还是倒序,看compare(...)当中的比较和返回值,
10和20比较,返回-1正序、返回1倒序(0是相等,这时不会出现),
第4个问号,见第3个问号的回答.
看了 请问JDK中的Compara...的网友还看了以下:
一单摆的摆球质量为m、摆长为l,球心离地心为r.已知地球的质量为M,引力常量为G,关于单摆做简谐运 2020-04-12 …
怎么用Matlab得到函数的曲线图函数如下:S= -R^2*asin((R-V*t)/R)-((R 2020-05-16 …
设关系R、s和T分别如下图所示,其中T是R和S的一种操作结果。则A.T=R ∞SB.T=R∞SC<E 2020-05-23 …
r(A*A^T)=r(A^T*A)=r(A)证明方程AX=0与A^TAX=0同解AX=0显然有A^ 2020-06-10 …
已知dv=t[R·v0cosθ+r·v0·cosθ+RC0·r+C0·r2]·dr·dθ其中t、R 2020-07-09 …
matlab求解二阶导数方程,四个方程四个未知量>>symst>>E=32;G=10.81;b=2 2020-07-19 …
给出一棵树的逻辑结构T=(K,R),其中K={A,B,C,D,E,F,G,H,I,J}R={r}r 2020-07-22 …
RSA算法中r无法满足e*r%t==1的问题p=47;q=59;t=(p-1)×(q-1)=266 2020-07-23 …
RSA算法中r无法满足e*r%t==1的问题p=47;q=59;t=(p-1)×(q-1)=266 2020-07-23 …
一物体沿半径分别为r和R的半圆弧由A经B运动到C,经历的时间为t,如图所示,则它的平均速度和平均速率 2020-11-26 …