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>();
-
JavaでのArrayListとHashSetの違い
HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり
-
JavaプログラミングにおけるArrayListとCopyOnWriteArrayListの違い。
ArrayListとCopyOnWriteArrayListはどちらも、JavaでのListインターフェースの実装です。ただし、特定の違いもあります。 以下は、ArrayListとCopyOnWriteArrayListの重要な違いです。 Sr。いいえ。 キー ArrayList CopyOnWriteArrayList 1 同期 ArrayListは本質的に同期されていません。 一方、 CopyOnWriteArrayListは本質的に同期されます。つまり、一度に1つのスレッドのみがオブジェクトにアクセスできます。 2 パフォーマンス ArrayList