java.util.List に対する containsAll() の呼び出しを報告します。
このメソッド呼び出しの時間計算量は O(n·m) です。n はメソッドが呼び出されるリストの要素数で、m はメソッドにパラメーターとして渡されるコレクションの要素数です。 リストが大きい場合、この処理は非常に負荷が高くなる可能性があります。
クイックフィックスを使用すると、リストが new java.util.HashSet<>() で囲まれます。java.util.List から java.util.HashSet を作成し、java.util.HashSet で containsAll() を実行するために必要な時間が O(n+m) になるためです。
例:
public boolean check(List<String> list, Collection<String> collection) {
// O(n·m) 複雑度
return list.containsAll(collection);
}
クイックフィックス適用後:
public boolean check(List<String> list, Collection<String> collection) {
// O(n+m) 複雑度
return new HashSet<>(list).containsAll(collection);
}
2022.1 の新機能です