java.util.List 引数を持つ java.util.Set.removeAll() の呼び出しを報告します。
引数のサイズがセットのサイズ以上、かつセットが java.util.AbstractSet のサブクラスである場合、このような呼び出しの処理速度は低下する可能性があります。
このような場合はセットの各要素に対して List.contains() が呼び出され、線形探索が実行されます。
例:
public void check(String... ss) {
// possible O(n^2) complexity
mySet.removeAll(List.of(ss));
}
クイックフィックス適用後:
public void check(String... ss) {
// O(n) complexity
List.of(ss).forEach(mySet::remove);
}
2020.3 の新機能です