public class Student {
private String name;
private int age;
set/get 有参的构造方法
}
public class Comparator implements java.util.Comparator {
private int compare(String a,String b){
// return a.compareTo(b);
return a.compareToIgnoreCase(b);
}
private int compare(int a,int b) { return a>b?(a<b?0:1):-1; }
@Override
public int compare(Object o1, Object o2) {
Student stu1 = (Student)o1;
Student stu2 = (Student)o2;
String name1 = stu1.getName();
String name2 = stu2.getName();
int age1 = stu1.getAge();
int age2 = stu2.getAge();
return (compare(name1, name2) == 0) ? (compare(age1, age2)) : (compare(
name1, name2));
}
}
public static void main(String[] args) {
Student p1 = new Student("aB", 4);
Student p2 = new Student("b", 2);
Student p3 = new Student("c", 1);
Student p4 = new Student("ab", 1);
Student p5 = new Student("aa", 6);
Student p6 = new Student("aC", -1);
List<Student> list = new ArrayList<Student>();
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
list.add(p5);
list.add(p6);
Collections.sort(list, new Comparator());
Iterator<Student> it = list.iterator();
while(it.hasNext()){
Student stu = it.next();
System.out.println(stu.getName()+":"+stu.getAge());
}
}
分享到:
相关推荐
标题与描述均提到了“程序实现时间排序Comparator”,这表明文章的主题是关于如何在Java编程环境中使用`Comparator`接口来实现基于时间的排序。在Java中,`Comparator`是一个功能强大的工具,允许开发者自定义对象的...
Java中的Comparator接口是排序的关键工具,它允许程序员自定义对象的比较规则,从而在集合、数组或树结构(如TreeSet、TreeMap)中实现定制化的排序。在Java的Collections框架中,Comparator扮演着重要的角色,特别...
在Java编程中,`Comparator`接口是用于比较对象的关键工具,尤其在进行自定义排序时。这个接口提供了`compare()`方法,根据特定的规则来决定两个对象的相对顺序。当需要根据多个排序条件对集合进行排序时,可以使用...
在Java编程语言中,排序是数据处理中一个非常常见的需求,而`Comparator`和`Comparable`接口则是实现排序的关键工具。这两个接口都是用于比较对象,但它们的应用场景和使用方式有所不同。 首先,`Comparable`接口是...
Comparator接口与Comparable接口的区别 Comparator接口与Comparable接口是Java语言中两个重要的接口,它们都是用于比较和排序自定义类的对象的大小的。虽然它们两个都是用于比较的接口,但是它们有着不同的实现方式...
### Comparable与Comparator的区别详解 #### 一、引言 在Java编程中,为了对自定义对象进行排序,Java提供了两种接口:`Comparable`与`Comparator`。这两种接口各有优势,适用于不同的场景。本文将深入探讨这两种...
在Java编程中,`Comparator`接口是一个非常重要的工具,它允许我们自定义对象的排序规则。这个接口在处理集合类,如`ArrayList`、`TreeSet`或`PriorityQueue`时,尤其有用,当我们需要根据特定的标准进行排序,而...
在Java编程语言中,排序是常见的操作,而`Comparable`和`Comparator`接口则是实现对象排序的两种主要方式。这篇文章将深入探讨这两种实现方式及其在实际编程中的应用。 首先,`Comparable`接口位于`java.lang`包下...
在 Java 中,Comparator 和 Comparable 是两个非常重要的接口,它们用于对象的排序操作。这两个接口都是在 java.util 包中定义的,主要用于定制排序规则。 **一、Comparator 接口** Comparator 接口允许我们创建...
当需要对`List`中的对象进行自定义排序时,`Comparator`接口就派上了用场。`Comparator`是一个可以比较两个对象的类,它提供了一种方式来定义自定义的比较规则,从而实现灵活的排序逻辑。 `Comparator`接口位于`...
在Java编程语言中,Comparable和Comparator接口是两个重要的概念,它们都用于对象的排序,但有着不同的使用场景和特点。本文将深入探讨这两个接口的区别,以及它们在实际开发中的应用。 首先,我们来了解一下...
本压缩包“json_comparator_jar.zip”提供了一个JSON比较工具,帮助开发者在Java环境下快速对比两个JSON对象或文件的差异。 该工具的关键在于,它能够解析并理解JSON格式的数据,然后进行深度比较,找出两者之间的...
在Java编程语言中,`Comparator`接口用于自定义对象的排序规则。`String`, `number`以及`String+number`的`Comparator`排序涉及到如何按照特定逻辑比较字符串、数字以及字符串与数字组合的对象。这篇博客文章(链接...
在Java编程语言中,`Comparator`接口是一个非常重要的工具,它允许我们自定义对象的排序规则。`Comparator`可以用于任何实现了`Comparable`接口的类,或者当我们想要对不支持自然排序的对象进行排序时。标题提到的`...
### Comparator 排序器 #### 简介 在Java编程语言中,`Comparator`接口是一种非常实用且灵活的工具,用于控制对象的排序方式。它允许开发人员自定义对象的比较逻辑,从而实现对集合(如`List`)中的元素进行排序。...
This software shows the necessary configuration to use Comparator0 as a reset source.
其中的"Analog-to-Digital Converter (ADC)"指的是模数转换器,用于将模拟信号转换成数字信号,而“Comparator”是用于比较两个模拟信号并输出比较结果的器件。ADC和比较器在微控制器中起着至关重要的作用,尤其是...
python库。 资源全名:number_comparator-0.0.3b1-py3-none-any.whl