King's Studio

Java中数组插入和删除指定元素

字数统计: 603阅读时长: 2 min
2019/01/17 Share

今天在练习的时候,用到了数组的插入以及删除元素,就想到来总结一下不同情况下对数组元素的操作。

数组元素插入

数组元素插入按照位置分三种情况,数组首部,尾部和中间指定位置。首部以及尾部比较容易,总体思路是先新建一个临时数组,比原数组长度大1,然后遍历将原数组的所有元素拷贝到进临时数组,再将要添加的元素赋值到临时数组的首尾部,最后遍历输出数组。

1
2
3
4
5
6
7
8
9
10
11
12
String productName = scanner.next();
//创建新数组,比原来的数组长度大1
String[] tempWareHouse = new String[wareHouse.length+1];
for (int i = 0; i < wareHouse.length; i++) {
tempWareHouse[i] = wareHouse[i];//深拷贝,将原数组的值拷贝进新数组
}
//将新货品名添加到新数组的末尾
tempWareHouse[wareHouse.length] = productName;
wareHouse = tempWareHouse;
for (int i = 0; i < wareHouse.length; i++) {
System.out.println(wareHouse[i]);
}

指定位置的元素插入稍微麻烦一点,首先要确定插入元素的位置,然后该位置后的元素依次往后移动一个位置,最后遍历输出结果(该方法前提是数组长度固定)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Scanner s = new Scanner(System.in);
System.out.println("请输入要插入的位置:");
int location = s.nextInt();
System.out.println("请输入要插入的元素:");
int m = s.nextInt();
//插入位置后的元素依次往后移动一位
for (int i = num1.length-1; i > location; i--) {
num1[i] = num1[i-1];
}
//将新元素添加到要插入的位置
num1[location] = m;
for (int i = 0; i < num1.length; i++) {
System.out.println("现在的数组"+num1[i]);
}

数组元素删除

数组元素删除相对而言容易一些,总体思路是删除位置后的每个元素依次向前移动一位,首先是新建临时数组,长度比原数组小1,当i小于指定删除位置index时,元素位置不变,当i大于index时,后面的元素向前移动一位。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Scanner s = new Scanner(System.in);
System.out.println("请输入要删除的位置:");
int index = s.nextInt();
String[] tempWareHouse = new String[wareHouse.length-1];
for (int i = 0; i < wareHouse.length-1; i++) {
if (i < index) {
tempWareHouse[i] = wareHouse[i];
}else {
tempWareHouse[i] = wareHouse[i+1];
}
}
System.out.println("删除该货品品后的仓库:");
for (int i = 0; i < tempWareHouse.length; i++) {
System.out.println(tempWareHouse[i]);
}

原文作者:金奇

原文链接:https://www.rossontheway.com/2019/01/17/java回顾2/

发表日期:January 17th 2019, 12:00:00 am

更新日期:March 21st 2019, 9:35:06 am

版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可,除特别声明外,转载请注明出处!

CATALOG
  1. 1. 数组元素插入
  2. 2. 数组元素删除