object o=2中oobject是什么类型型

Microsoft word 11.0 Object Library是一个什么样的库?求详细综述
Microsoft word 11.0 Object Library是一个什么样的库?求详细综述
09-10-25 &
这里描述的很多,可以看看。Microsoft Office Outlook 2003 完全揭密上面的链接需要都选中,直接链不好用哦
请登录后再发表评论!C7H8O2中官能团名称是什么呢?C7H12O2的结构简试怎么写?C7H8O2到C7H8O2中官能团名称是什么呢?C7H12O2的结构简试怎么写?C7H8O2到C7H12O2的反应类型又是什么
默念sqMQ42L
C7H8O2不饱和度为4,说明可能是苯环,取代基为羟甲基+羟基或甲氧基+羟基.C7H12O2不饱和度为2,可能是双键+羧基,三键+羟基,三键+醚,双键+羰基+羟基等
为您推荐:
其他类似问题
扫描下载二维码当前位置: →
→ 黑马软件工程师关于纠结接口Comparator的实现方法compareObjecto1,Objecto2
黑马软件工程师关于纠结接口Comparator的实现方法compareObjecto1,Objecto2
& 作者:佚名 & 来源: 互联网 & 热度:
&收藏到→_→:
摘要: 黑马程序员_关于纠结接口Comparator的实现方法compare(Object o1,Object o2)
"黑马软件工程师关于纠结接口Comparator的实现方法compareObjecto1,Objecto2"::
黑马_关于纠结接口comparator的实现方法compare(object o1,object o2)
------- android培训、java培训、期待与您交流! ----------
今天在黑马论坛游街着一位同学的问题让我纠结了好久好久。
说起来想法也非常简单,看下面代码,
package com.
import java.util.
import java.util.
import java.util.
import java.util.
class test
public static void main(string[] args)
treeset ts = new treeset(new demo2013());
ts.add("f8");
ts.add("25d55");
ts.add("1d1");
ts.add("8d56");
ts.add("25555");
ts.add("8d56");
system.out.println(ts);
class demo2013 implements comparator
public int compare(object o1,object o2)
string s1 =(string)o1;
string s2 =(string)o2;
system.out.println(s1+"---"+s2);//用于研究
if (s1.length() & s2.length())
if (s1.equals(s2))
system.out.println(s1+"+++"+s2);
return -1;
compare的方法是让这个ts里面的数据按照长度来排序,这个没问题,但是这位同学要在compare里面打印出相同的元素。
所以当s1和s2相同时,打印结果是
8d56+++8d56
我试了很久,主要集中在如何删除f8.这第一个元素,不知道为什么这个compare在比较的时候,第一次一定是o1和o2一定都要取f8.我想这是java设计者的要求,一定会同时取ts里面的第一个元素。最后我是没找到办法的,但是我倒是发现了compare排序机制里面的一些问题,return 1和-1我之前就知道怎么回事,return 0会如何呢?return 0的话会删除s1或者s2.因为它认为s1和s2是重复的。
后来我加入了 system.out.println(s1+"---"+s2);//用于研究 这段代码会,打印结果
25d55---f8
1d1---25d55
8d56---1d1
8d56---25d55
25555---1d1
25555---25d55
25555---8d56
8d56---1d1
8d56---25555
8d56---8d56
8d56+++8d56
我就看这个o1和o2的取法规律,虽然没有完全理清楚,但是再结合java对compare的说明
compares its two arguments for order. returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
in the foregoing description, the notation sgn(expression) designates the mathematical signum function, which is defined to return one of -1, 0, or 1 according to whether the value of expression is negative, zero or positive.
the implementor must ensure that sgn(compare(x, y)) == -sgn(compare(y, x)) for all x and y. (this implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)
the implementor must also ensure that the relation is transitive: ((compare(x, y)&0) && (compare(y, z)&0)) implies compare(x, z)&0.
finally, the implementor must ensure that compare(x, y)==0 implies that sgn(compare(x, z))==sgn(compare(y, z)) for all z.
it is generally the case, but not strictly required that (compare(x, y)==0) == (x.equals(y)). generally speaking, any comparator that violates this condition should clearly indicate this fact. the recommended language is "note: this comparator imposes orderings that are inconsistent with equals."
specified by: compare(...) in comparator
parameters:
o1 the first object to be compared.
o2 the second object to be compared.
a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
上面这段英文总结起来说明一个问题,这个比较是传递的。类似于x&y,y&z.那么x&z。反正这个compare函数内部有这样一个机制。
最终:我大概总结了这个compare的算法。
我猜想有2个集合。第一个装着传进来的treeset数据,第二个是空的。以本代码为例
之后开始比较:
1、先把第一个集合里的第一个f8,放到第二个集此文来自: 马开东博客
转载请注明出处 网址:
合里面的第一个位置.之后就是我困惑的地方。(下述)
2、取第一个集合里面的下一个o1=25d55,再取第二个集合里面的第一个o2=f8。比较之后return 1,所以25d55放在f8后面且放入第二个集合的下一个位置
3、取第一个集合里面的下一个o1=1d1,再取第二个集合里面的第一个o2=f8,return 1.所以1d1放在f8后面,接着再取第二个集合里面的第二个o2=25d55,return -1.所以1d1放在25d55的后面。
其余类似。
最后,当o1==8d56和o2==8d56,两者一比较发现return 0了,那么不就把o1放进第二个集合。最后返回的第二个我觉得去不去集合就少了一个重复的元素。
我就想不通,第一步,为什么还要o1和o2还要取一次f8,在我没有添加return0的时候,集合里只有一个f8,添加了之后还是只有一个f8.如何判断机制和8d56那一步一样,那么在没有return 0的时候,应该是有2个f8.
我又想到了一种解释,就是o1和o2如果相同的话,就让o1放在o2的位置,这样集合2中还是没有重复元素。关键是return 0的存在与否不影响f8,但是却影响着8d56啊。
算了,这个问题想了太久了,不纠结了,这次博客记录在这里,以后再回答吧
------- android培训、java培训、期待与您交流! ----------
搜索此文相关文章:关于纠结接口Comparator的实现方法compareObjecto1,Objecto2此文来自: 马开东博客
网址: 站长QQ
上一篇:没有了
黑马软件工程师关于纠结接口Comparator的实现方法compareObjecto1,Objecto2_移动开发相关文章
移动开发_总排行榜
移动开发_最新
移动开发_月排行榜
移动开发_周排行榜
移动开发_日排行榜object o 为什么是空的_百度知道

参考资料

 

随机推荐