KotlinのLinkedListDartで!
Dartでは、LinkedListに相当するデータ構造はdart:collectionライブラリのLinkedListクラスです。このクラスは、双方向連結リストを提供し、要素の追加や削除が高速に行えます。ただし、要素へのアクセスは、リストや配列に比べて遅くなることがあります。
DartのLinkedListを使用するには、dart:collectionライブラリをインポートする必要があります。以下に使用例を示します。
import 'dart:collection'; void main() { final list = LinkedList<MyLinkedListEntry>(); // 要素を追加 list.add(MyLinkedListEntry('apple')); list.add(MyLinkedListEntry('banana')); list.add(MyLinkedListEntry('cherry')); // 要素を削除 list.remove(list.firstWhere((element) => element.value == 'banana')); // 要素にアクセス final firstElement = list.first; final lastElement = list.last; // イテレータを使用してリストを操作 for (final element in list) { print(element.value); } } class MyLinkedListEntry extends LinkedListEntry<MyLinkedListEntry> { final String value; MyLinkedListEntry(this.value); }
はい、その通りです。value変数は必須ではありません。value変数は、上記の例でMyLinkedListEntryクラスに追加したカスタムフィールドであり、LinkedListEntryを継承したクラスには必ずしも必要ではありません。
LinkedListEntryを継承したクラスには、任意のフィールドやメソッドを追加できます。valueフィールドは単なる例であり、実際のアプリケーションで必要なデータや機能を持たせるために、カスタムクラスを作成して使用します。
value
は必須ではない。ほんの一例とのこと。
class MyLinkedListEntry extends LinkedListEntry<MyLinkedListEntry> {
みたいに継承しないと
LinkedList<MyLinkedListEntry>();
してくれないルール。