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

JavaでのArrayListとVectorの違い


この投稿では、JavaでのArrayListとVectorの違いを理解します。

ArrayList

  • 同期されていません。

  • 要素の数がArrayListの容量を超えると、現在の配列サイズが50パーセント増加します。

  • スレッドセーフではありません。

  • JDK1.2で導入されました。

  • イテレータを使用してトラバースすることしかできません。

  • 同期されていないため、高速です。

  • Iteratorインターフェースを使用して要素をトラバースします。

ArrayList<T> al = new ArrayList<T>();

ベクトル

  • 同期されています。

  • スレッドセーフです。

  • レガシークラスです。

  • 同期されているので遅いです。

  • 要素の数がVectorの容量を超えると、現在の配列サイズが100%増加します。

  • 列挙子とイテレータを使用してトラバースできます。

  • ArrayListよりも優先されます。

  • マルチスレッド環境を提供します。

  • 現在のスレッドが特定のオブジェクトのロックを解除するまで、他のスレッドを実行可能または実行不可能な状態に保持します。

  • 「Iterator」インターフェースまたはEnumerationインターフェースのいずれかを使用して、要素をトラバースできます。

Vector<T> v = new Vector<T>();

  1. JavaでのArrayListとHashSetの違い

    HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり

  2. JavaプログラミングにおけるArrayListとCopyOnWriteArrayListの違い。

    ArrayListとCopyOnWriteArrayListはどちらも、JavaでのListインターフェースの実装です。ただし、特定の違いもあります。 以下は、ArrayListとCopyOnWriteArrayListの重要な違いです。 Sr。いいえ。 キー ArrayList CopyOnWriteArrayList 1 同期 ArrayListは本質的に同期されていません。 一方、 CopyOnWriteArrayListは本質的に同期されます。つまり、一度に1つのスレッドのみがオブジェクトにアクセスできます。 2 パフォーマンス ArrayList