当前位置: 首页 > 面试题库 >

在Java中将数组分为两部分,没有for循环

公孙和怡
2023-03-14
问题内容

我有一个大小为300000的数组,我希望它将其分成2个相等的部分。这里有什么方法可以用来实现这个目标?

它会比for循环操作更快还是对性能没有影响?


问题答案:

您可以使用System.arraycopy()

int[] source = new int[1000];

int[] part1 = new int[500];
int[] part2 = new int[500];

//              (src   , src-offset  , dest , offset, count)
System.arraycopy(source, 0           , part1, 0     , part1.length);
System.arraycopy(source, part1.length, part2, 0     , part2.length);


 类似资料:
  • 是一个具有高度、宽度和RGB大小的3D int数组(0=红色,1=绿色,2=蓝色)。 是具有8x8块大小的二维int数组 到目前为止,代码工作正常,因为我得到了一个结果图像。下面是将像素分组为8x8的代码的部分示例(它只显示了2行,因为代码太长)。 有人能识别出这是正确的方法将值分组为8x8块的3D数组的h x w大小吗?原因是,当我测试打印出原始像素和结果像素的值时,我从更高的OFSET中得到结

  • 问题内容: 我的要求很简单,但是我需要做很多事情,因此我正在寻找可靠的解决方案。 是否有一个很好的轻量级库,用于将URL分解为Java中的组成部分?我指的是主机名,查询字符串等。 问题答案: 看一看java.net.URL。它具有完全符合您要执行的操作的方法。 主机名: 查询字符串: Fragment / ref / anchor: 路径:

  • 给定一个< code>n数和sum 的列表,将这些数分成< code >两个组,使得每组中的数之和小于或等于s。如果可以分组,则打印< code>YES,如果不能分组,则打印< code>NO。 例如,如果< code>n=3,s=4和< code>n数是< code>2,4,2。在这种情况下,输出为< code>YES,因为可以形成两个组< code>(2,2)和(4)。 我的解决方案如下。 是

  • 问题内容: 这是给俄罗斯方块的。玻璃(蓝色)位于左侧,控件(红色面板)位于右侧。换句话说,现在我只想将框架分为两部分:左(较宽)部分是蓝色,右部分是红色。而已。但是我似乎没有做到这一点。 因此,我的逻辑是:让框架具有FlowLayout。然后,我添加了两个面板,这意味着它们应该连续放置。 我准备了这个: 但是在屏幕上仅可见灰色框。你能帮我理解为什么吗? 问题答案: 正如Amir所说,您想为此使用J

  • 问题内容: 我正在查看类内部,遇到了以下方法: 有人可以解释什么意思吗? 问题答案: 等同于。 for循环包含三个元素: 初始化器 条件(或终止表达式) 增量表达式 没有设置它们中的任何一个,使其成为一个无限循环。 参考:for语句

  • 给定一个值数组,我如何将它分成由相等元素组成的? 给定这个数组 我想要这个输出 解决这一问题的一种可能方法是创建某种索引,以指示每个元素的出现情况。 最后使用索引重建输出数组。 但是,使用此解决方案,我会丢失原始值。当然,在这种情况下,这不是一个大问题(一个值仍然存在,即使重新创建,),但我想将此解决方案应用于像这样更复杂的数据结构 实际上,我正在寻找的函数是与相反的函数 我希望我已经说清楚了,如