我不知道你在"Ordened" 和"UnOrdened" 后面的含义是什么,如果有一个类实现两者是否有意义,但无论如何,这里有一个关于如何使用多个接口实现的示例,试图跟上你的东西。
我想 ordered 解释了 here 的 Java 含义,这是 not sorted。
假设Ordered 接口可以通过索引访问某个对象(T 类型)并搜索或查找给定对象:
public interface Ordered<T> {
T getNth(int i);
T find(T o);
}
假设UnOrdered 接口仅提供查找对象的方法:
public interface UnOrdered<T> {
T find(T o);
}
现在我们可以定义一个实现两个接口的类:
public class MyList<T> implements Ordered<T>, UnOrdered<T> {
List<T> theList;
public MyList(T...a) {
theList = Arrays.asList(a);
}
// The list of objects are neither sorted nor hashed.
// Only way to find an object is to iterate through the list
public T find(T o) {
for (T e : theList) {
if (e.equals(o)) {
return e;
}
}
return null;
}
public T getNth(int i) {
return theList.get(i);
}
}
public static void main(String[] args) {
MyList<Integer> mylist = new MyList<>(2,8,6,1,7,3,5,9,10,4);
System.out.println(mylist.getNth(3));
// => print 1
System.out.println(mylist.find(3));
// => print 3
System.out.println(mylist.find(42));
// => print null
}