Java libを使用せずに、Javaで単純なOOPリストを実装するにはどうすればよいですか?
Java リストの典型的な機能は何ですか?
誰かがJavaについて「リスト」と言ったらどう思いますか? それがリンクされたリストなのか、それとも何かのリストなのかわかりません。
Java libを使用せずに?
オブジェクトを作成できます
class myList{
myList nextitem;
Info moreInfo
}
myList l = new myList();
javadocs forjava.util.List
を見て、indea を取得するために定義されているメソッドを確認できます。次に、独自の実装について考えることができます。
上記のインターフェースには多くの実装がArrayList
ありLinkedList
、最も人気のある実装の一部に過ぎません。
Java リストの典型的な機能は、標準のListインターフェイスで定義されています。このインターフェースをコードが
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 のすべてのメソッドを実装する必要はないことに注意してください(実装しないものは throw できますUnsupportedOperationException
)。 " ArrayList が提示するリスト インターフェイス。たとえば、読み取り専用リストはUnsupportedOperationException
、要素を追加または削除しようとするとスローする必要があります。
主な機能は、制限されていない追加の可能性を与えることです-作成パラメーター-要素の数によって、他の要件(アクセス時間など)がない場合は、追加および削除中に動的なサイズ変更で[]を拡張するだけです手術。
しかし..リストはコレクションの一部であるため、この「要件」を満たしたい場合は、必要な機能を実装する必要があります。