仅在一次传递中将数组划分为两个数组?

时间:2012-03-09 22:35:36

标签: java arrays data-partitioning

我想通过一个数组并创建两个新数组:一个具有满足特定条件的元素,另一个不满足。

这是否可以一次通过,或者我必须通过两次:一次确定新阵列应该有多大,再次填充这些数组?我可以看到这将如何与另一种编程语言或不同的数据结构一起使用,但对于java,这似乎不可能。

1 个答案:

答案 0 :(得分:3)

你想使用数组吗?或者它可能是收藏?如果是,那么:

  String[] st = new String[] {"asas", "dsdsdsd", "sfdsfdsf", "dsfsdfdsfdsfs"};
  List<String> s1 = new ArrayList<String>();
  List<String> s2 = new ArrayList<String>();
  for (String s: st) {
      if (s.length>5)
          s1.add(s)
      else
          s2.add(s);
  }