作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] 请教一下Collections.sort的comparator..
时间Thu Mar 22 17:41:47 2012
※ 引述《lovebluetea (cchichi)》之铭言:
: 刚刚在处理arraylist的排序上碰到了一些问题…
: 想请教一下版上的前辈们...
: 我有咕狗过一下还是看不太懂。
你 google 过什麽?
http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html
跟
http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html
#compare(T, T)
的说明有哪里看不懂?
: Collection.sort里面有个变形是可以用comparrator去处理的,
Collection 哪有 sort() 这个 method?
是 Collections 才有这个 method
: 但是我看不懂.sort他是怎麽处理Comparator回传的数字
可以不用看懂,反正 Collections.sort() 就是帮你排到好
你可以把他想成气泡排序法或任何你懂得排序法
反正,他就是排列(Collection 长相的)阵列
: Collections.sort(queue, new Comparator<int[]>() {
: public int compare(int[] arg0, int[] arg1) {
: if (arg0 < arg1)
: return -1;
: else if (arg0 > arg1)
: return 1;
: return 0;
: }
: });
: 已上述例子来说... 1 , 0 , -1回传回去是如何做排序?
「以」上述的例子,你的程式根本 compile 不过
(除非你写的不是 Java,或是 Java 已经有 operator override)
再者,你自己写一个测试资料去测试,不就知道了吗?
还是你要问什麽更进一步的问题是我没看出来的?
: return 1就是代表arg0的顺序先於arg1吗?
: 另外还有一个问题= =...他只要知道二个数字间如何比较就可以做完这个sort吗..
未必是数字,这玩意美妙之处就在於,给他有 implement Comparable 的物件
或是另外写个 Comparator 写明这两个物件要怎麽比大小就可以 sort
我是不知道有没有其他排序演算法可以跳脱这个限制
但是,大多数课本上有的演算法,到最後不就是一堆两两比较的结果吗?
--
钱锺书:
说出来的话
http://www.psmonkey.org
比不上不说出来的话
Java 版 cookcomic 版
只影射着说不出来的话
and more......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.5.5
※ 编辑: PsMonkey 来自: 114.25.5.5 (03/23 00:28)
1F:推 musie:我想很多会发这种问题的主要原因是 英文阅读能力不好.. 03/23 12:07