comparator 匿名内部类
时间: 2023-07-26 11:13:13 浏览: 87
Comparator是一个接口,用于定义比较两个对象的方法。在Java中,我们可以使用匿名内部类来实现Comparator接口,从而对对象进行排序。下面是一个使用Comparator匿名内部类的示例:
```java
List<Integer> numbers = Arrays.asList(5, 3, 8, 2, 1);
Collections.sort(numbers, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o1.compareTo(o2);
}
});
System.out.println(numbers); // 输出:[1, 2, 3, 5, 8]
```
在上面的代码中,我们使用Collections.sort()方法对整数列表进行排序。我们向该方法传递了一个Comparator匿名内部类的实例,该实例实现了Comparator接口的compare()方法,用于比较两个整数的大小。在匿名内部类中,我们重写了compare()方法,使用o1.compareTo(o2)来比较两个整数的大小。最后,我们将排序后的整数列表输出到控制台。
相关问题
匿名内部类comparator
匿名内部类comparator的代码如下:
```
new Comparator<Student>() {
public int compare(Student a, Student b) {
if (a.age > b.age)
return 1;
else if (a.age == b.age)
return 0;
else
return -1;
}
}
```
这段代码创建了一个匿名内部类,实现了Comparator接口,并重写了compare方法。在compare方法中,根据Student对象的age属性进行比较,如果a的age大于b的age,则返回1,如果a的age等于b的age,则返回0,如果a的age小于b的age,则返回-1。这样,通过这个匿名内部类作为Comparator的实例,可以实现按照age升序排序Student对象数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [【PTA】匿名内部类:实现Comparator比较器](https://blog.csdn.net/qq_63806300/article/details/127928435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
匿名内部类排序comparator
回答: 在填空处需要实例化一个匿名内部类来进行排序,代码如下:
Arrays.sort(a, new Comparator<Student>() {
public int compare(Student s1, Student s2) {
if (s1.age != s2.age) {
return s1.age - s2.age;
} else {
return s1.name.compareTo(s2.name);
}
}
});<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [【PTA】匿名内部类:实现Comparator比较器](https://blog.csdn.net/qq_63806300/article/details/127928435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [TreeSet【自然排序实现Comparable接口、定制排序匿名内部类 new Comparator】 的使用](https://blog.csdn.net/m0_64210833/article/details/123587487)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文