ArrayList は検索操作に一定の時間を提供するため、検索が追加および削除操作よりも頻繁な操作の場合は ArrayList を使用することをお勧めします。 LinkedList は、追加操作と削除操作に一定の時間を提供します。したがって、操作には LinkedList を使用することをお勧めします。
ArrayList では、get メソッドと set メソッドを介して要素にアクセスするための時間計算量は O(1) です。
LinkedList の要素へのアクセス時間は O(n/2) です。
LinkedLinked クラスは Deque インターフェイスも実装しているため、LinkedList で両端キューの機能を取得できます。 ArrayList クラスは Deque インターフェイスを実装していません。
並べ替えると、ArrayList はデータにアクセスするのに適しており、LinkedList はデータを操作するのに適しています。どちらのクラスも List インターフェイスを実装します。
配列リストの例
import java.util.*; public class ListExample { public static void main(String[] args) { //ArrayList is better to store and view data List list=new ArrayList(); list.add('ankit'); list.add('peter'); list.add('mayank'); System.out.println('Traversing ArrayList...'); for(String s:list){ System.out.println(s); } } }
出力:
Traversing ArrayList... ankit peter mayank
リンクリストの例
import java.util.*; public class ListExample2 { public static void main(String[] args) { //LinkedList is better to manipulate data List list=new LinkedList(); list.add('ankit'); list.add('peter'); list.add('mayank'); System.out.println('After adding: '+list); list.remove('peter'); System.out.println('After removing: '+list); list.set(1,'vivek'); System.out.println('After changing: '+list); } }
出力:
After adding: [ankit, peter, mayank] After removing: [ankit, mayank] After changing: [ankit, vivek]