基本的なことだけど、纏めときます。
○List・・・重複要素を許可。要素の順番を保持。
|
|-○ArrayList・・・要素の検索は高速。要素の追加・削除は、
| 追加・削除された要素以降の要素を再配置するため低速。
|
|-○LinkedList・・・要素の検索は、要素に順番にアクセスするため低速。
要素の追加・削除は、要素の前後のリンク情報を変更するため高速。
○Set・・・重複要素は持たない。
|
|-○HashSet・・・要素の順序ほ保証しない。最も高速
|
|-○TreeSet・・・要素の順序は自然順序、
| またはコンストラクタに指定されたComparatorに従い、昇順にソート。
|
|-○LinkedHashSet・・・要素の順序は挿入順。
○Map・・・キーと値が対になった要素を持つ。キーの重複は許可されず、
| 各キーは1つの値のみに対応付けられる。
|
|-○・・・HashMap・・・キーの順序を保持しない。最も高速
|
|-○・・・TreeMap・・・キーが自然順序、またはコンストラクタに指定されたComparatorに従い、昇順にソート。
|
|-○LinkedHashMap・・・キーが挿入される挿入順を保持。
コンストラクタの引数で、アクセス順にソートすることもできる。
本文深入解析Java集合框架中的List、Set、Map三种数据结构,包括ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap、LinkedHashMap等具体实现方式,及其在不同场景下的适用性和性能对比。
3175

被折叠的 条评论
为什么被折叠?



