Java SE 8でのCollections Frameworkの拡張機能

ラムダ式、ストリームおよび集約操作のサポート

Java Collections Frameworkが更新され、ラムダ式、ストリームおよび集約操作をサポートするようになりました。これらのトピックの詳細は、次のページを参照してください。

キー衝突を伴うHashMapのパフォーマンスの向上

JEP 180の作業の一環として、キーに多数の衝突があるHashMapのパフォーマンスが改善されました。

7u6で追加されたString型の代替ハッシュ関数は、jdk.map.althashing.thresholdシステム・プロパティとともに、JDK 8から削除されました。かわりに、衝突する多数のキーを含むハッシュ・ビンは、そのエントリをリンク・リストにではなくバランス・ツリーに格納することによって、パフォーマンスを向上させます。このJDK 8の変更は、HashMapLinkedHashMapおよびConcurrentHashMapのみに適用されます。

まれに、この変更によってHashMapHashSetの反復順序が変化することがあります。HashMapオブジェクトの反復順序は特に指定されていないため、反復順序に依存しているコードは修正するようにしてください。

7u6で導入されたこの機能が削除される他は、java.util.Hashtableクラスに影響はありません。7u6で追加された機能はWeakHashMapHashtable (および拡張によりPropertiesProvider)に適用されていましたが、JDK 8では削除されています。


Copyright © 1993, 2019, Oracle and/or its affiliates. All rights reserved.