【发布时间】:2019-05-14 00:08: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};
我看到an example 看到了类似于我想做的事情,但在 C# 中(这个问题是关于一个随机数,这不是我想要的,但类似于)。
【问题讨论】:
-
对于文本中的任何语法错误,我深表歉意。我是英语新手。
-
IntStream.range(0, 53).filter(i -> ...).toArray() -
你的语法看起来不错。什么决定了哪些数字将被删除?而且范围非常小,您可以创建一个数字列表并根据需要从中删除。或者维护一组排除的数字,并在必要时进行检查。
-
@Carcigenicate 谢谢。没有逻辑来规定将删除哪些数字。我有一个包含我需要的所有排除项的数组(忘记在帖子中包含这个,天哪)。但是您的想法看起来不错,必要时检查排除组。如果没有提出解决方案,我会使用它。
-
@Brunno shmosel 的解决方案相当地道。过滤函数 oukd 定义了保留的内容。我会去的。如果您还没有使用流,这也是学习流的好方法。