少しソース、非常に浅い親切、非常に興味深い何かを読んで、それを記録。
自然1.ArrayListは、[オブジェクトです]
公共のArrayList(int型InitialCapacityの値){ IF(InitialCapacityの値> 0){ this.elementData =新しいオブジェクト[InitialCapacityの値]。 }そうであれば(InitialCapacityの値== 0){ this.elementData = EMPTY_ELEMENTDATA。 }他{ :(+ "違法容量"の新しいIllegalArgumentExceptionをスローし 、InitialCapacityの値を) } }
自然はHashMapを2.HashSet
パブリックHashSetの(){ マップ=新しいHashMapの<>(); }
] [最終char型の性質を3.String
民間最終char値[]。 パブリック文字列(){ this.value = "" .VALUE。 } パブリック文字列(文字列元){ this.value = original.value。 this.hash = original.hash。 } パブリック文字(char値[]){ this.value = Arrays.copyOf(値、value.length)。 }
4.StringBufferとStringBuilderのはAbstractStringBuilderから継承されています
パブリック最終クラスのStringBufferは AbstractStringBuilderが延び たjava.io.Serializableを実装し、CharSequence引数 のパブリック最終クラスのStringBuilderは AbstractStringBuilderが延び たjava.io.Serializable、のCharSequenceを実装します
たくさんの同期動作の内側のStringBufferとStringBuilderの中の主な違い5.StringBufferは、StringBuilderの内部なかったです。スレッドセーフと旧一般的です。
StringBufferの:
@Override パブリック同期StringBufferの追加(オブジェクトOBJ)を{ toStringCache = NULL; super.append(String.valueOf(OBJ))。 これを返します。 }
StringBuilder:
@Override 公共のStringBuilderの追記(オブジェクトobj){ 戻りアペンド(String.valueOf(OBJ))。 }