- 浏览: 227139 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (209)
- database (25)
- java技巧 (25)
- TC总结 (4)
- J2EE (8)
- 算法 (6)
- blog (4)
- php (4)
- linux & mac (19)
- 其它技术 (4)
- javascript&ajax (26)
- 测试技术 (8)
- XML&HTML (2)
- ORM (hibernate ...) (11)
- eclipse (5)
- 技术书籍 (8)
- 项目管理,cmmi (3)
- 硬件技术 (1)
- REST, web service, web架构 (1)
- 卓有成效程序员 (2)
- qone开发 (1)
- Design (4)
- .net (5)
- SCM (4)
- css (23)
- programming languages (1)
- ide (2)
- CSS Patterns (18)
- security (1)
- android (5)
最新评论
-
Virtoway:
说到Angular JS刚读到一片美国构架师的文章关于使用An ...
angular js: angular.bind example -
08284008:
该毛线啊,一点解释的都没有,怎么看
Thread join() 用法 -
Rex86lxw:
在eclipse中我一直用Navigator查看编写代码的,可 ...
eclipse不能自动编译,不报错 -
mistake:
..............
Angular js scope: the child scope would inherit from the parent scope -
sparrow1314:
very good! thanks!
IE下JS调试工具
java 代码
- /**
- * <p>
- * This method simply orders the ranked query result by date.
- * </p>
- *
- * @param result ranked result to be ordered
- *
- * @return ordered result
- *
- * @throws OrderException if the order execution fails because of some reason.
- */
- public RankedQueryResult order(RankedQueryResult result) throws OrderException {
- SearcherHelper.checkNull(result, "result");
- // TreeMap(Key date, Value id) may be a choice to implement sort. But it has a problem. The
- // Date of two Documents may be equal. In that case, when put them into the Map,
- // one Document will be neglected and a bug is introduced.
- // Also, I tried Arrays.sort(rankedOrder,new Comparator(){}. But in this
- // case, we can not throw the DocumentRepositoryException from Document Repository in Comparator#compare.
- // What's more, every time it compares Date, it'll have to retrieve the Date from // the repository.
- // Finally, I decided to implement it this way.
- /**
- * An Object for WordSourceId Date pair for the convenience of sorting WordSourceId by Date.
- */
- final class IdDateObject {
- /** The WordSourceId this object related */
- private WordSourceId id;
- /** The Date of the WordSourceId */
- private Date date;
- /**
- * Constructor for the project with the related WordSourceId and its date.
- *
- * @param id the WordSourceId this object related
- * @param date the Date of the WordSourceId
- */
- IdDateObject(WordSourceId id, Date date) {
- this.id = id;
- this.date = date;
- }
- /**
- * Returns the date of the WordSourceId.
- *
- * @return the date of the WordSourceId
- */
- Date getDate() {
- return date;
- }
- /**
- * Returns the WordSourceId the object related.
- *
- * @return the WordSourceId the object related
- */
- WordSourceId getId() {
- return id;
- }
- }// end for final class IdDateObject
- // constructs the IdDateObject array
- WordSourceId[] rankedOrder = result.getRankedOrder();
- IdDateObject[] idDateObjects = new IdDateObject[rankedOrder.length];
- for (int i = 0; i < rankedOrder.length; i++) {
- idDateObjects[i] = new IdDateObject(rankedOrder[i], getDocumentDate(rankedOrder[i]));
- }
- // sort in idDateObjects
- Arrays.sort(idDateObjects, new Comparator() {
- /**
- * Compares two IdDateObject objects according to the Date.
- * <p>
- *
- * <pre>
- * If the local variable decreasing is true:
- * If two objects' creation Dates are equal, 0 will be returned.
- * If arg0 greater than arg1, a positive int is returned.
- * Else a negative is returned.
- * Else the local variable decreasing is false:
- * If two objects' creation Dates, 0 will be returned.
- * If arg0 greater than arg1, a negitive integer is returned.
- * Else a positive integer is returned.
- * </pre>
- *
- * @param arg0 the first WordSourceId to compare
- * @param arg1 the second WordSourceId to compare
- * @return an integer representing the compare result according the above rule
- * @throws ClassCastException if the arguments' types prevent them from being compared by this Comparator.
- */
- public int compare(Object arg0, Object arg1) {
- IdDateObject object1 = (IdDateObject) arg0;
- IdDateObject object2 = (IdDateObject) arg1;
- Date date0 = object1.getDate();
- Date date1 = object2.getDate();
- int result = date0.compareTo(date1);
- if (decreasing) {
- result *= -1;
- }
- return result;
- }
- });
- // retrieve sort result
- WordSourceId[] resultOrder = new WordSourceId[rankedOrder.length];
- for (int i = 0; i < idDateObjects.length; i++) {
- resultOrder[i] = idDateObjects[i].getId();
- }
- // create and return a new ranked query result ordered by date
- return new RankedQueryResult(result.getResult(), result.getAllRelevances(), resultOrder);
- }
评论
2 楼
geek87
2009-11-18
好东西有用。。呵呵
1 楼
talangniao
2007-07-09
不理解这里Arrays.sort(idDateObjects, new Comparator()
new Comparator这个从哪里得来得?
new Comparator这个从哪里得来得?
发表评论
-
IntelliJ IDEA Live Templates for Unit Testing
2017-12-12 17:29 360http://vansande.org/2015/03 ... -
memory management in java
2017-12-07 15:25 331https://www.journaldev.com/28 ... -
Easiest way to read write files in java 8
2017-10-25 15:46 461Path path = Paths.get(getClas ... -
Tomcat 在启动时开启调试
2017-03-31 11:47 674很容量找到怎么在tomcat中远程调试的文章。如 http ... -
java读取文件内容
2013-11-19 15:37 555//将要读的文件文件放在resources/xml/目 ... -
Will android (java) UUID.randomUUID() return repeated UUIDs?
2013-11-19 06:11 2308Theoretically, I don't think ... -
将一个文件由gbk 转成 utf-8
2010-08-11 21:02 1519public void transform(String f ... -
java Serialization
2009-06-29 11:09 694http://www.blogjava.net/orangel ... -
JAAS
2009-06-09 11:10 1071http://publib.boulder.ibm.com/i ... -
java读取文件的路径如何找的
2009-06-04 13:58 1534is = getClass().getClassLoad ... -
要到另一个目录下运行ant, .bat文件中调用ant
2009-05-21 09:50 3460<ant antfile="build.xml ... -
一个生成json字符串的类
2009-04-16 13:08 952public class UserProjWorkloadQu ... -
运用Calendar进行java日期处理
2009-03-21 16:58 3271取得时间点所在的日的起始时间和结束时间(From Quartz ... -
ant 用户手册
2009-01-07 11:04 723http://ant.apache.org/manual/in ... -
Thread join() 用法
2008-11-11 20:36 1946Thread[] cThreads = new Thread[ ... -
利用Serialization实现对象深拷贝
2007-10-25 22:54 886java 代码 private PersonA ... -
Form-Letter Programming
2007-09-10 20:54 939Form-Letter Programming VS Mess ... -
StringBuffer VS StringBuilder
2007-09-08 23:05 1369现在看了,知道了,太简单了,其实说白了,StringB ... -
使用java.util.Calendar返回间隔天数
2007-07-29 13:32 1754java 代码 ** * Calc ... -
由xml和Document的标准操作
2007-07-09 22:49 1002xml 到Documetn java 代码 p ...
相关推荐
Arrays.sort(integers, new Comparator() { public int compare(Integer o1, Integer o2) { return o2 - o1; } public boolean equals(Object obj) { return false; } }); ``` 在上面的代码中,我们可以看到...
下面的例子中,我们定义了一个比较Dog大小的Comparator,然后将其实例对象作为参数传给sort方法,通过此示例,您应该能够快速掌握Arrays.sort()的使用方法。 在这个例子中,我们首先定义了一个Dog类,包括size属性...
在Java 5.0之前,我们通常使用`Arrays.sort()`方法来对数组进行排序,但该方法的功能相对有限。Java 5.0中,`java.util.Arrays`类和`java.util.Collections`类都得到了升级,提供了更强大的排序功能。 一、Java 5.0...
2. `Arrays.sort(T[], int, int, Comparator)` 和 `Arrays.sort(T[], Comparator)` 适用于泛型数组,其中 `Comparator` 参数可以自定义比较规则。 3. `Collections.sort(List)` 和 `Collections.sort(List, ...
除了直接在`Arrays.sort()`和`Collections.sort()`中传入`Comparator`,还可以将`Comparator`保存为成员变量,用于多次排序,或者创建静态常量供多个地方使用。 总结一下,Java实现类排序主要涉及以下步骤: 1. ...
### 方法一:使用`Arrays.sort()`方法 在Java中,`java.util.Arrays`类提供了`sort()`方法来对数组进行排序。当对字符串数组进行排序时,`sort()`方法默认使用字典顺序进行排序,即根据ASCII值的大小进行比较。然而...
在 main() 方法中,我们创建了一个 Simple 对象数组,并使用 Arrays.sort() 方法对其进行排序,排序时使用 CompareTest Comparator 对象。 Comparable 和 Comparator 的区别 Comparable 接口和 Comparator 都可以...
在给定的代码示例中,我们首先定义了一个字符串数组`arrayToSort`,然后使用`Arrays.sort()`方法对其进行排序。 ##### 1. 定义字符串数组 ```java String[] arrayToSort = new String[]{"Oscar", "Charlie", "Ryan...
`Arrays.sort()`与`Collections.sort()` - **`Arrays.sort()`**: 用于排序对象数组或基本类型的数组。对于基本类型,Java 7引入了泛型和类型推断,使得排序更加方便。对于自定义对象,`sort`会调用对象的`...
5. **自定义比较器**:在`Arrays.sort()`和`Collections.sort()`中,可以传递一个`Comparator`实例,以根据自定义规则进行排序。这对于需要根据特定字段或规则排序的对象数组和列表非常有用。 6. **并行排序**:...
#### 一、Arrays工具类的使用 在Java编程语言中,`Arrays`工具类提供了许多用于数组操作的方法,这些方法极大地简化了开发人员对数组的处理过程。`Arrays`类位于`java.util`包中,它包含了一系列静态方法来支持数组...
- `Arrays.sort`:这个方法内部使用了快速排序算法,对于基本类型数组,JVM提供了优化的机器指令,而对于对象数组,它会调用Arrays.genericSort,这里涉及到了泛型擦除。 - `Collections.sort`:对于ArrayList,它...
2. **提供 `Comparator<T>` 实例**:与 `Arrays.sort()` 类似,`Collections.sort(List<T> list, Comparator<T> c)` 允许你传递一个自定义的 `Comparator<T>` 来进行排序,这在需要更复杂排序逻辑时特别有用: ...
对于集合类,如`ArrayList`,我们可以使用`Collections.sort()`方法,它的用法与`Arrays.sort()`类似,但需要传入集合而不是数组。同样,如果需要按多个属性排序,也需提供自定义`Comparator`。 在某些情况下,Java...
`Comparator`不仅可以用于`List`的排序,还可以在其他需要比较元素的场景中发挥作用,如`TreeSet`、`PriorityQueue`以及`Arrays.sort()`等。此外,`Comparator`还支持链式调用,可以同时比较多个属性,比如先比较...
当一个类实现了 Comparable 接口,那么该类的对象就可以直接调用 Collections.sort 或 Arrays.sort 进行排序。 例如,User 类原本没有排序功能,但当我们让它实现 Comparable<User> 接口后,就可以为 User 对象添加...
Java的`java.util.Arrays`类提供了多种内置排序方法,如`Arrays.sort()`,可以对整数、浮点数、字符数组,以及实现了`Comparable`接口或提供了自定义`Comparator`的对象数组进行排序。但是,学习和实现排序算法有助...
这样,Person类的对象可以被Collections.sort()或Arrays.sort()方法直接排序,例如: ```java Person[] people = new Person[]{new Person("xujian", 20), new Person("xiewei", 10)}; Arrays.sort(people); ``` ...
这可以通过使用Java内置的`Arrays.sort()`函数实现,该函数可以接受一个比较器(Comparator)来定义排序规则。 在提供的代码片段中,可以看到两种不同的实现方式: 1. 使用Lambda表达式: ```java Arrays.sort(arr...
使用`Comparator`排序时,可以传递给`Collections.sort()`或`Arrays.sort()`方法,例如: ```java List<MyObject> list = ...; Collections.sort(list, new MyComparator()); ``` 此外,`Comparator`还可以通过...