【发布时间】:2012-03-09 22:35:36
【问题描述】:
我想通过一个数组并创建两个新数组:一个包含满足特定条件的元素,另一个不满足。
这是否可能一次通过,或者我必须通过两次:一次确定新数组应该有多大,然后再次填充这些数组?我可以看到这将如何与另一种编程语言或不同的数据结构一起使用,但对于 java,这似乎是不可能的。
【问题讨论】:
-
刚决定不使用像
ArrayList<T>这样更合适的数据结构? -
这肯定会更合适,但我想知道这是否甚至可以使用数组。
-
@SN。有可能的。只是不是为了严格定义“一次通过”。这两种方法是 1) 扫描、创建适当的数组大小或 2) 创建完整大小的数组、处理和缩小(或传递“使用的长度”或有另一个哨兵)以适应。这两种情况都不是理想的,尽管它可能 只是无关紧要(但我是第二个 Kirk Woll ;-)。这也是我避免使用 Java 的原因...
-
OT:@pst:您正在避免使用 java,因为您无法调整数组大小?
-
@stryba 我避免使用 Java,因为它缺少的一切使得处理简单的集合操作变得非常冗长和程序化;-) Java 中的数组(甚至下面的答案)很好地展示了这一点,我认为。例如,我更愿意这样做:
theList.partition(x => x.length > 5)或类似的。 (集合的易用性和我使用特定语言的愿望之间存在关联。)
标签: java arrays data-partitioning