为了账号安全,请及时绑定邮箱和手机立即绑定

如何获得一系列整数但排除一些数字?

如何获得一系列整数但排除一些数字?

慕尼黑8549860 2019-04-11 14:15:33
我需要创建一个整数数组,它将包含0到53之间的所有数字,但是我希望从数组中排除一些整数。在Java中有任何功能吗?我有一个包含排除的数组。这背后没有逻辑(事实上,有一个逻辑,但我不知道如何表达这一点),因此我创建了一个数组来指定:int[] exclusions = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 26, 27, 35, 36, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53};我看到了一个类似于我想做的事情的例子,但在C#中(这个问题是关于一个随机数,这不是我想要的,但类似于)。

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

你可以用几种方法做到这一点。首先是使用concatIntStream 的功能。以下列出了0-5,10-15和20-25的列表。


      int[] vals = IntStream.concat(

            IntStream.concat(IntStream.range(0, 6), IntStream.range(10, 16)),

            IntStream.range(20, 26)).toArray();

      System.out.println(Arrays.toString(vals));

您还可以只列出要排除的数字列表。此示例排除筛选器列表中的那些。


      int[] vals2 = IntStream.range(0, 54).filter(

            a -> !List.of(10, 20, 30, 40).contains(a)).toArray();

      System.out.println(Arrays.toString(vals2));


查看完整回答
反对 回复 2019-05-15

添加回答

代码语言

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信