如何在不使用任何 Java 库的情况下在 java 中实现简单的 OOP 列表?
Java列表的典型特征是什么?
如果有人告诉您有关 java 的“列表”,您会怎么想?我不知道它是链接列表还是其他列表。
您可以查看 javadocsjava.util.List
并查看它定义了哪些方法来获得 indea。然后,您可以考虑自己的实现。
上面的接口有很多实现:ArrayList
并且LinkedList
只是一些最流行的。
不使用任何 Java 库?
你可以创建一个对象
class myList{
myList nextitem;
Info moreInfo
}
myList l = new myList();
Java 列表的典型特征在标准列表接口中定义。如果你以这样的方式实现这个接口,代码
List<Foo> bar = new ArrayList<Foo>();
// Other code that calls methods from the List interface, using bar
和
List<Foo> bar = new YourCustomList<Foo>();
// The same other code
行为相同(当然,其他代码练习了您关心的列表功能),那么我认为您已经实现了一个 Java 列表。
我注意到您不必实现java.util.List 中的所有UnsupportedOperationException
方法(您未实现的方法可以 throw ),但您应该倾向于实现所有这些方法,除非您的列表不同于“标准” " ArrayList 呈现的列表界面。例如,只读列表应该UnsupportedOperationException
尝试添加或删除元素。
主要功能是提供添加不受限制的可能性 - 通过创建参数 - 元素的数量,所以如果没有任何其他要求(访问时间等),只需在添加和删除期间通过动态调整大小来增强 []手术。
但是.. List 是集合的一部分,所以如果你想满足这个“要求”,你应该实现所需的功能。