有一个类,它允许构造 new ListNode
s。每次构造 aListNode
时都需要指明所需的类型,其中类型的ListNode
一部分是实现Comparable
接口的不同类,而另一个类可以是任何东西。
ListNode<Date, String> node = new ListNode<>();
是一个例子。
有了这样一个例子,你就会有一个ListNode
看起来更像:
public class ListNode {
Date key;
String value;
ListNode<Date, String> next;
ListNode(Date key, String value, ListNode<Date,String> next) {
this.key = key;
this.value = value;
this.next = next;
}
}
和之间的东西<
是>
泛型类型,是 Java 的一个特性,更广为人知的是“Java 泛型”。你应该阅读它。它稍微超出了一篇文章中完整解释的范围,但希望上面的例子能给你一个想法。它允许人们编写一个通常采用伪类型参数的类。
可比较接口是一种特殊接口,它提供某种类型的线性排序。例如,您可以按字母顺序对字符串进行排序,在这种情况下,您会得到如下所示的内容
public StringComparator implements Comparable<String> ....
它通过Comparable
关键字强制定义方法的实现来工作。
public int compareTo(String other) {
...
}
如果返回的整数是负数,则另一个在该项之前,如果返回值为正,则另一个在该项之后,如果返回值为零,则这两项(出于排序目的)等价。