Javaの機能的なスタイルのプログラミングを使用している場合、他の条件を簡素化

s4ik4t:

任意の提案は、Java 8の機能を使用して、次のコードブロックを簡素化するには?

int[] ans = new int[2];
list.forEach(i -> {
    if (i > 0) {
        ans[0] += 1;
    } else if (i < 0) {
        ans[1] += 1;
    }
});

PSわからない私はこれを投稿する必要がある場合はこちら

レオ阿蘇:

あなたがゼロをカウントしたくない場合は、あなたのコードは、それが得ることができるような単純なようです。あなたが肯定としてゼロをカウントしたい場合は、しかし、あなたはこれにそれを短縮することができます。

int[] ans = new int[2];
for (int i : list) ans[i < 0 ? 1 : 0] += 1;

おすすめ

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