どのようなセットのための時間の複雑さとファクトリメソッドSet.of()とMap.of()で作成したマップ?

Vitalii:

Javaでは、私が作成したときsetSet.of()mapMap.of()の時間複雑で何containsget操作?それはO(1)ですか?

スチュアート・マークス:

Set.ofそしてMap.ofAPIはJDK-プライベート実装のインスタンスを返します。これらの実装の性能は仕様によって保証されていません。しかし、APIは、パフォーマンス文を作ることができるかについての具体的な実装を返しません。したがって、質問は合理的であり、そのような「何がのパフォーマンスであるとして、(架空の)問題とは区別されますMap.get?」これは多くの異なるありますので、貧しい人々の問題であるMap実装が。

いずれの場合においても後ろに、実装Set.of(2つよりサイズより大きい場合)とMap.of(よりもサイズの大きい場合)、単純なオープン衝突解決のためプロービング線形でスキームをハッシング対処使用。Set.containsそしてMap.get操作はO(1)の要素(キー)ハッシュが合理的に分布している場合です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=315080&siteId=1