Redian新闻
>
Comparator Accessor method for SortedSet
avatar
Comparator Accessor method for SortedSet# Java - 爪哇娇娃
s*3
1
小时候家在郊区,打上小学起我就 不停的生病(幼儿园的事不记得了), 小病不断,大
病平均1.5月一次(指那种上医院打吊针的)每次都是被家里里人背去, 还常常是半夜
(因为高烧不退).
学校组织的春,秋游, 每次都去, 几乎每次都病秧秧的被老师背会来(那时的老师真
好阿)。我不去学校也不用请假, 老师自然知道是病了。
直到5年级, 转学到城里(我爸从外地调回来工作)小学读书。 从那时起, 就没那
么多毛病了。回郊区小学看老师, 被问起“ 还老生病没?” 忙摇头, 摇得脑袋昏
昏的。
有点奇怪吧.
avatar
I*o
2
SortedSet有这么一个Comparator Accessor method:
Comparator comparator();
关于这个Comparator Accessor,Java tutorial里面的解释是这样的:
==================
http://java.sun.com/docs/books/tutorial/collections/interfaces/sorted-set.html
The SortedSet interface contains an accessor method called comparator
that returns the Comparator used to sort the set, or null if the set is
sorted according to the natural ordering of its elements. This method is
provided so that sorted sets can be copied into new s
avatar
b*y
3
我从小一直到小学毕业,也是很经常的生病,经常半夜被爸妈送到医院。不过自从上了
初中突然就很少很少生病。
可能是因为长大了一些,体质好了

【在 s**3 的大作中提到】
: 小时候家在郊区,打上小学起我就 不停的生病(幼儿园的事不记得了), 小病不断,大
: 病平均1.5月一次(指那种上医院打吊针的)每次都是被家里里人背去, 还常常是半夜
: (因为高烧不退).
: 学校组织的春,秋游, 每次都去, 几乎每次都病秧秧的被老师背会来(那时的老师真
: 好阿)。我不去学校也不用请假, 老师自然知道是病了。
: 直到5年级, 转学到城里(我爸从外地调回来工作)小学读书。 从那时起, 就没那
: 么多毛病了。回郊区小学看老师, 被问起“ 还老生病没?” 忙摇头, 摇得脑袋昏
: 昏的。
: 有点奇怪吧.

avatar
g*g
4
SortedSet is an interface, TreeSet is an implementing class.
As far as I know, interface can only have public methods.

previously.

【在 I*******o 的大作中提到】
: SortedSet有这么一个Comparator Accessor method:
: Comparator comparator();
: 关于这个Comparator Accessor,Java tutorial里面的解释是这样的:
: ==================
: http://java.sun.com/docs/books/tutorial/collections/interfaces/sorted-set.html
: The SortedSet interface contains an accessor method called comparator
: that returns the Comparator used to sort the set, or null if the set is
: sorted according to the natural ordering of its elements. This method is
: provided so that sorted sets can be copied into new s

avatar
l*n
5
这个正常吧 小孩子体制弱 随便来点伤风感冒啥的 很平常
大了 抵抗力好了 就好了

【在 s**3 的大作中提到】
: 小时候家在郊区,打上小学起我就 不停的生病(幼儿园的事不记得了), 小病不断,大
: 病平均1.5月一次(指那种上医院打吊针的)每次都是被家里里人背去, 还常常是半夜
: (因为高烧不退).
: 学校组织的春,秋游, 每次都去, 几乎每次都病秧秧的被老师背会来(那时的老师真
: 好阿)。我不去学校也不用请假, 老师自然知道是病了。
: 直到5年级, 转学到城里(我爸从外地调回来工作)小学读书。 从那时起, 就没那
: 么多毛病了。回郊区小学看老师, 被问起“ 还老生病没?” 忙摇头, 摇得脑袋昏
: 昏的。
: 有点奇怪吧.

avatar
I*o
6
那么这就涉及2个问题了
Q1: comparator()作为public method的话,有用途么?
Q2:如果comparator()没有其他用途,实际上只是为了给constructor用一下,
却因为是interface method而不得不成为public,这个算是违反encapsulation原则了
吧?
是否有另外一个mechanicsm/pattern可以做到类似的框架,却把comparator()给封装起
来?

【在 g*****g 的大作中提到】
: SortedSet is an interface, TreeSet is an implementing class.
: As far as I know, interface can only have public methods.
:
: previously.

avatar
s*3
7
转学前都在不断的生病, 转学后就基本上不再生病了。
忘了说, 我家住在中学里, 那时都是平房。 厕所是公共的, 还在操场那头的西边,
操场东边以前是片坟场(我还在那边土里刨到过一颗像玉石的珠子)。厕所我晚上是
不敢去的, 白天也是跟着别人一块才敢进, 要不就大声的唱着歌进去(常常因为害怕
,声音都是跑调的)
小时候的乐趣之一就是拣东西。 上学放学都是自己走去,走回来。 顺着田坎, 小街边, 总会件到些乱78遭的东西。 糖纸, 火柴盒(上高中时,家里都还有我以前存的糖纸) 最高兴的是拣到钱, 几分,1-2角, 然后就拿去买零食。那时的水果糖才1分钱一颗, 小学对面就是一家水果店, 有一种杏皮卖(应该是直接晒干了,没加工过的), 5分钱就可以买一把了。

【在 l******n 的大作中提到】
: 这个正常吧 小孩子体制弱 随便来点伤风感冒啥的 很平常
: 大了 抵抗力好了 就好了

avatar
g*g
8
Sure, one usage is to check if this SortedSet has a comparator,
null means no and SortedSet falls back to Set. You may also
want to check what kind of Comparator this is, different comparator leads
to different sequence.
if(treeSet.comparator() instanceof ...)

【在 I*******o 的大作中提到】
: 那么这就涉及2个问题了
: Q1: comparator()作为public method的话,有用途么?
: Q2:如果comparator()没有其他用途,实际上只是为了给constructor用一下,
: 却因为是interface method而不得不成为public,这个算是违反encapsulation原则了
: 吧?
: 是否有另外一个mechanicsm/pattern可以做到类似的框架,却把comparator()给封装起
: 来?

avatar
m*t
9

Say you are writing your own SortedSetImpl, according to the contract
defined in SortedSet (see the javadoc), SortedSetImpl is supposed to have "a
constructor with a single argument of type SortedSet, which creates a new
sorted set with the same elements and the same ordering as the input sorted
set"
So in order to replicate the ordering, at some point inside SortedSetImpl(
SortedSet original) you would need to call origin.comparator() to get the
same comparator and use that to sort.
It can be

【在 I*******o 的大作中提到】
: 那么这就涉及2个问题了
: Q1: comparator()作为public method的话,有用途么?
: Q2:如果comparator()没有其他用途,实际上只是为了给constructor用一下,
: 却因为是interface method而不得不成为public,这个算是违反encapsulation原则了
: 吧?
: 是否有另外一个mechanicsm/pattern可以做到类似的框架,却把comparator()给封装起
: 来?

avatar
r*l
10

狭义地说,comparator()的返回值是给“别的class的”
constructor用的。不是给自己用的。所以不能是private。
maticfat解释得比较清楚了。
广义地说,comparator()的意义是告诉别人“我是怎样排序的”。
如果comparator()的返回值是null,那么这个SortedSet里面的
element必须implements Comparable(),SortedSet用Comparable()
排序。

【在 I*******o 的大作中提到】
: 那么这就涉及2个问题了
: Q1: comparator()作为public method的话,有用途么?
: Q2:如果comparator()没有其他用途,实际上只是为了给constructor用一下,
: 却因为是interface method而不得不成为public,这个算是违反encapsulation原则了
: 吧?
: 是否有另外一个mechanicsm/pattern可以做到类似的框架,却把comparator()给封装起
: 来?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。