是否有任何语法/软件包允许使用数字范围快速填充Java数组,例如在perl中?
例如
int[] arr = new int[1000];
arr=(1..500,301..400,1001..1400); // returns [1,2,3,4,...,500,301,302,...,400,1001,1002,...1400]
另外,这里提供了一个包,该包允许在上述数字列表中获取第n个数字,而无需实际创建数组(这可能很大)?
例如
BunchOfRangesType bort = new BunchOfRangesType("1..500","301..400","1001..1400");
bort.get(0); // return 1
bort.get(500); // return 301
bort.get(501); // return 302
实施起来并不太困难,但是我想这可能很普遍,所以也许已经完成了。
不像True Soft的答案那么干净,但是您可以使用Google Guava达到相同的效果:
public class Test {
public static void main(String[] args) {
//one liner
int[] array = toArray(newLinkedList(concat(range(1, 10), range(500, 1000))));
//more readable
Iterable<Integer> values = concat(range(1, 10), range(500, 1000));
List<Integer> list = newLinkedList(values);
int[] array = toArray(list);
}
public static List<Integer> range(int min, int max) {
List<Integer> list = newLinkedList();
for (int i = min; i <= max; i++) {
list.add(i);
}
return list;
}
}
请注意,您需要一些静态导入才能起作用。
问题内容: 我想要一个包含1到500范围内的整数的列表。是否有某种方法可以使用Guava(或只是纯Java)创建此列表,而不必遍历该范围并将值分别添加到我自己的列表中码? 问题答案: 使用番石榴,您可以诉诸于:http : //docs.guava- libraries.googlecode.com/git/javadoc/com/google/common/collect/Range.html
我有一个数据集,日期设置为每月的第一个。例如- 我需要加入这张桌子: 通常情况下,我会对这一条加一个权利- ...它工作良好,日期2021-02-01。那是在2021-01-30和2021-02-12之间。 类似地,2021-03-01日期介于2021-02-27和2021-03-12之间 然而!开始日期为2021-02-13、结束日期为2021-02-26的支付期间的值为空。我希望表A中二月份的
本文向大家介绍用Java填充字节数组,包括了用Java填充字节数组的使用技巧和注意事项,需要的朋友参考一下 可以使用java.util.Arrays.fill()方法填充Java中的字节数组。此方法将所需的字节值分配给Java中的字节数组。java.util.Arrays.fill()所需的两个参数是数组名称和要存储在数组元素中的值。 演示此的程序如下所示- 示例 输出结果 现在让我们了解上面的程
我如何用整数或字符串填充我的GridPane?我目前正在数独GUI上工作,无法使其工作。我已经知道不可能用Java FX标签来显示它,因为它是Java.FX.scene.Control类。我需要以某种方式将数独值转移到GridPane中相应的坐标。
本文向大家介绍在指定范围内填充Java float数组中的元素,包括了在指定范围内填充Java float数组中的元素的使用技巧和注意事项,需要的朋友参考一下 可以使用java.util.Arrays.fill()方法将元素填充到指定范围内的Java float数组中。此方法将指定范围内所需的float值分配给Java中的float数组。 Arrays.fill()方法所需的参数是数组名称,要填充
我必须用奇数的范围(这里是)填充数组:1,3,5,7,9...但我总是在每个奇数之间有一个0,我不明白为什么。 注:注释中大写字母下的代码是由我们的教授给出的... 输出: