int配列から、コレクションに値を無視するには、Java 8のフィルタを使用する方法

user6248190:

私は、彼らが別の配列にエラーコードが含まれているかどうかを確認したいのerrorCodeのリストを持っています。エラーコードは、リストのerrorCodeに存在するならば、私はそれらをフィルタリングします。

これは私がこれまで持っているものです

int[] ignoredErrorCodes = {400, 500};

  List<Error> errorCodes = errorsList.stream()
            .filter(error -> error.getErrorCode() != ignoredErrorCodes[0])
            .collect(Collectors.toList());

どのように私はストリームを使用して、代わりに一つだけの配列ignoredErrorCodes内のすべての値に対してチェックすることができますか?

彼らは次のとおりでした:

中ignoredsコードを格納する方が良いだろうSet速く検索用:

Set<Integer> ignored = Set.of(400,500);
List<Error> errorCodes = errorsList.stream()
            .filter(error -> !ignored.contains(error.getErrorCode()))
            .collect(Collectors.toList());

おすすめ

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