java在数组开头插入
时间: 2024-03-28 17:41:40 浏览: 190
在Java中,数组的长度是固定的,一旦创建,就不能再添加或删除元素。如果想要在数组开头插入元素,需要先创建一个新的数组,然后将原数组中的元素复制到新数组中,并在新数组的开头插入新元素。
下面是示例代码:
```java
String[] originalArray = {"apple", "banana", "orange"};
String newElement = "pear";
String[] newArray = new String[originalArray.length + 1];
// 在新数组开头插入元素
newArray[0] = newElement;
// 将原数组中的元素复制到新数组中
for (int i = 0; i < originalArray.length; i++) {
newArray[i+1] = originalArray[i];
}
// 输出新数组
System.out.println(Arrays.toString(newArray));
```
输出结果为:
```
[pear, apple, banana, orange]
```
在上述代码中,首先创建一个新的String数组,其长度为原数组长度加1。然后,在新数组开头插入新元素,再将原数组中的元素复制到新数组中。最后,输出新数组即可。
相关问题
java在数组开头插入数据
Java中数组的大小是固定的,一旦创建就不能改变。如果要在数组开头插入数据,需要先创建一个新的数组,将要插入的数据放在新数组的第一个位置,然后将原数组中的数据依次复制到新数组中,从第二个位置开始复制。最后将原数组指向新数组即可。以下是示例代码:
```
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int[] newArr = new int[arr.length + 1];
newArr[0] = 0;
for (int i = 0; i < arr.length; i++) {
newArr[i + 1] = arr[i];
}
arr = newArr;
System.out.println(Arrays.toString(arr));
}
```
这段代码将在原数组开头插入数字0,输出结果为:[0, 1, 2, 3, 4, 5]。
用Java写一个可读取数组的插入排序
好的,以下是用Java写的可读取数组的插入排序代码:
```java
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {5, 1, 12, -5, 16, 2, 12, 14};
insertionSort(arr);
for (int i : arr) {
System.out.print(i + " ");
}
}
public static void insertionSort(int[] arr) {
int n = arr.length;
for (int i = 1; i < n; ++i) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
}
```
在主函数中,我们创建了一个整型数组,并将其传递给`insertionSort`函数进行排序。在`insertionSort`函数中,我们首先获取数组的长度,然后从第二个元素开始遍历数组。对于每个元素,我们将其值存储到`key`变量中,并将其前面的元素与`key`进行比较,如果前面的元素比`key`大,则将其后移一个位置,直到找到一个比`key`小的元素或者遍历到数组的开头为止。最后,我们将`key`插入到正确的位置上。
希望这个代码对你有帮助!
阅读全文