logo

Java で ArrayList と LinkedList を使用する場合

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]