java - 向右移动项目时将元素插入数组

标签 java arrays

假设我有一个数组:{5, 7, 8, 9, 10}。但是,我想插入一个元素,使数组变为 {5, 6, 7, 8, 9}5 和之间插入 6 7,将 10 移出并向右移动 9

如何使用数组和for循环来解决这个问题?

最佳答案

数组是非常低级的构造,没有为您执行此操作的方法。 ArrayList 做这样的工作应该使用哪个。

如果您对 ArrayList 的作者是如何做出这样的事情感到好奇的,因为它纯粹是一种不应投入生产的学术练习:

通过.. 只是.. 去做。

分解步骤并执行所有步骤。

Starting state: [5, 7, 8, 9, 10]
 Desired state: [5, 6, 7, 8, 9 ]

换句话说,我们需要将 7/8/9 复制到新位置以腾出空间。一旦完成,我们就可以编写 6。

int[] in = {5, 7, 8, 9, 10};
// Copy starting from index 1 (second number)
// Copy into the same array, at index 2.
// ... and copy 3 numbers.
System.arraycopy(in, 1, in, 2, 3);
System.out.println(Arrays.toString(in));
// Prints: [5, 7, 7, 8, 9].
in[1] = 6;
System.out.println(Arrays.toString(in));
// Prints: [5, 6, 7, 8, 9].

关于java - 向右移动项目时将元素插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69716552/

相关文章:

java - OutputStream.write() 成功但数据未下发

java - 我们如何使用Spring Boot将jsp文件中的表单数据保存到数据库中?

java - 对文件中的数组进行排序并打印结果

java - 包含对象数组的对象

javascript - 创建副本后数组会发生什么情况?

java - 点燃缓存事务和 putAsync

java - 从 Eclipse 中的文本文件读取按列数据

Java:如何返回 ArrayList 中的唯一元素

java - 我的 HeapSort 代码有什么问题?

css - SASS:如何忽略循环