セットには、オブジェクトの情報を格納するためのコンテナとして見ることができます。
相違点のコレクションと配列について:
配列の長さは、あなたが長さを増やしたい場合は、あなただけの新しい配列を作成することができ、固定されています。
コレクションの長さは、データを追加理論無制限、自動拡張変数です。
配列要素のタイプは、文字列と同じタイプ、[] ARR = [ "でなければならない "、 "B"、 "C"];
コレクション要素は、異なるタイプののArrayList <OBJECT> ARR =新しいArrayListをすることができる (<OBJECT>) ;
Javaのコレクションクラスコレクションと地図インターフェース二つの主要なルートで構成
コレクション:
のトップレベルのインタフェースセット
三つのサブカテゴリーの
リストが注文され----------------リスト、被験者が下を持ち、繰り返してもよいです
ArrayListの
ArrayListの実装可変長アレイ、メモリ内の連続領域を割り当てる
-利点:要素の要素を介して効率とランダムアクセスが比較的高い
-欠点:低検索効率の内容に応じて、低効率のモバイル多数の要素を追加し、削除する必要
のLinkedList
LinkedListのは、リスト記憶をリンク。
-利点:より効率的な要素を削除、挿入
-欠点:横断要素と非効率性ランダムアクセス
ベクトルVectorクラスが実装するダイナミックアレイ。非常に類似しており、時代遅れのArrayList
のリンクとベクトルとのArrayListの違いを以下のとおりです。
-同じ原則、同じ機能を達成するために、構造体の可変長配列は、時間がたくさんある
待機相互運用可能
- 2つの主な違いは、以下の通りである
▪ベクトルが早いJDKありますインターフェイスは、ArrayListには、新しいインターフェイスの代替ベクトルであります
▪ライトヘビーセキュリティのベクトルのスレッドセーフ、ArrayListのスピード、非スレッドセーフ
▪時間の長さを増加させる必要性に、ベクトルのデフォルトは、50でのArrayList%の成長倍
(1.5 + 1)
セット-------------- ---セットは順不同ですが、LinkHashSet例外は、以下の表ではない、繰り返すことができないはずです!
メソッド(にと撤回智常に一致シーケンス)運転データに類似しているが、設定されたインターフェイスが存在ゲット()メソッドが存在しないリストではありません!
HashSetの:Hashtableのハッシュテーブルのストレージ構成使用して
の利点を:、スピードを追加するために迅速に高速クエリの速度、削除スピード
短所:無秩序
LinkedHashSetの
順序を維持するためのリンクリストを使用しながら、ハッシュテーブルのストレージ構造を使用して
オーダー(添加の順序)
TreeSetの
バイナリツリーを使用して(赤黒木)ストレージ構造の
利点:注文したが(ソート昇順)リストクエリの速度より速い
欠点:クエリの速度が速いHashSetのではない
キューキュー特殊リニアテーブルで、削除操作は、唯一のテーブルの先端に許可されていますテーブルの後端に挿入を行います。
地図:
------------------------- HashMapの
無秩序ユニークキー(セット)
バリュー無秩序ユニーク智(コレクション)
のTreeMap -------- -----------------
注文したハッシュ速度が速くない
のConcurrentHashMap ---------------
同時地図に関連し
たHashMapとHashtableのリンクとの違い:
-同じ原理、同じ機能を達成するため、基礎となる構造は、ハッシュテーブル、クエリ速度、で
互換的に使用される多くの場合において
-として以下の二つの間の主な違いがある
▪ハッシュテーブルは、以前JDKによって提供されるインタフェースであり、ハッシュマップは、新しいバージョンである
JDKは提供されたインターフェース
辞書継承▪のHashtableクラスを、HashMapのは、インタフェースMap実装
▪ハッシュテーブルをスレッドセーフ、HashMapの非スレッドセーフである
ヌル値を許可するHashtable智▪、HashMapのは、nullが値ことができます
Iteratorインターフェイスを:
収集コンテナクラスの実装のすべてのインターフェースは、イテレータイテレータインターフェースを実装するオブジェクトを返すための方法を有しています。
▪イテレータオブジェクトがコンテナ要素内のトラバース動作の実現を容易にするためにイテレータをいいます。
:▪イテレータインターフェースは、以下のメソッドを定義
するブールのhasNextを(); //要素が横断されたか否かを判断する
次のオブジェクトを(); //戻り、現在のカーソルの位置と次の要素の位置にカーソルが移動
ボイド削除(); //除去要素が実行した後次の左にカーソル
//操作を一度だけ実行することができる
コレクションツール
異なるコレクションおよびコレクション、前者は、インタフェースのセットで回収動作、ある
コレクションは、静的メソッドを提供する
のaddAllを():バッチ追加
ソート():ソート
binarySearch():バイナリ検索
フィル():あるいは
シャッフル():ランダムな順序
逆転():リバース
ジェネリック:
智均一発生する異常データを解決するための操作の一般的なタイプ。
ジェネリック医薬品は、より良い保護データ型に使用することができます。
例:
リストの新しい新=のArrayList ArrayListを();
arrayList.add( "ABC");
arrayList.add(100)。
用(INT I = 0; I <arrayList.size(); I ++){
文字列の項目=(文字列)arrayList.get(I);
Log.d( "汎用テスト"、 "アイテム="アイテム+);
}
業績がクラッシュする、と報告されます:java.lang.ClassCastExceptionがを:java.lang.Integerのではないjava.lang.Stringでにキャストできる
あなたがそれに要素の種類を追加することができますジェネリック医薬品を提供しない、ArrayListに!偶然とは時に間違った報告書を入力するint型の文字列を見つけたとき!
私たちが起動した場合、一般的な例を叙階:
リスト<文字列> = ArrayListの新しい新しいのArrayList <文字列>();
その後、arrayList.add(100)を作る;プログラムは、コンパイル時にエラーになるとき!
一般的な3つの異なる方法、
すなわち:
ジェネリッククラス:
ジェネリックインターフェイス
ジェネリック方法
も一般的な上部および下部
補足を待って..........