Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでのArrayListとLinkedListの違い


ArrayListとLinkedListはどちらも、JavaでのListインターフェースの実装です。両方のクラスは同期されていません。ただし、特定の違いもあります。

以下は、ArrayListメソッドとLinkedListメソッドの重要な違いです。

Sr。いいえ。
キー
ArrayList
LinkedList
1
内部実装
ArrayListは、内部的に動的配列を使用してその要素を格納します。
LinkedListは、二重リンクリストを使用してその要素を格納します。
2
操作
配列の操作が遅いため、ArrayListは遅くなります。
LinkedListは、ビットシフトがあまり必要ないため、ノードベースの方が高速です。
3
実装
ArrayListはListのみを実装します。
LinkedListは、キューだけでなくリストも実装します。キューとしても機能します。
4
アクセス
ArrayListは、データの保存とアクセスが高速です。
LinkedListは、データの操作が高速です。

ArrayListとLinkedListの例

JavaTester.java

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class JavaTester {
   public static void main(String args[]) {
      List<String> list = new ArrayList<>();
      list.add("A");
      list.add("B");
      list.add("C");
      list.add("D");
      List<String> list1 = new LinkedList<>();
      list1.add("A");
      list1.add("B");
      list1.add("C");
      list1.add("D");
      System.out.println(list);
      System.out.println(list1);
   }
}

Outpu t

[A, B, C, D]
[A, B, C, D]

  1. コレクションとJavaのコレクションの違いは?

    コレクション はインターフェースですが、コレクション ユーティリティです Javaのクラス。 セット、リスト、 およびキュー コレクションのサブインターフェイスの一部です インターフェース、マップ インターフェースもコレクションの一部です フレームワークですが、コレクションを継承しません インターフェース。 収集の重要な方法 インターフェースはadd()、remove()、size()、clear() などとコレクション クラスには静的のみが含まれます sort()、min()、max()、fill()、copy()、reverse()などのメソッド など コレクションインターフェイスの構文

  2. Javaのwait()メソッドとsleep()メソッドの違いは?

    sleep()メソッド 静的です スレッドの方法 クラスであり、現在実行中のスレッドを「実行不可」状態に送信できます 一方、 wait() メソッドはインスタンスメソッドであり、スレッドオブジェクトを使用して呼び出しており、そのオブジェクトに対してのみ影響を受けます。 sleep() 時間切れ後のメソッドウェイクアップまたはinterrupt()の呼び出し メソッド、 wait() 時間切れ後のメソッドウェイクアップまたはnotify()の呼び出し またはnotifyAll() 方法。 sleep() メソッドはロックまたはモニートを解放しません r待機中、 wait() メソッドは、待機