用java实现,22、删除以下数组的所有0元素,String [] arr = {"1", "5", "6", "0", "0", "7", "0", "4"};
时间: 2023-09-05 15:06:47 浏览: 41
可以使用一个新的数组来保存非零元素,然后将新数组的元素复制回原数组。
以下是Java实现:
```java
String[] arr = {"1", "5", "6", "0", "0", "7", "0", "4"};
int nonZeroCount = 0; // 非零元素计数器
// 统计非零元素个数
for (String s : arr) {
if (!s.equals("0")) {
nonZeroCount++;
}
}
if (nonZeroCount > 0) {
String[] nonZeroArr = new String[nonZeroCount]; // 新数组
int index = 0;
// 将非零元素复制到新数组中
for (String s : arr) {
if (!s.equals("0")) {
nonZeroArr[index++] = s;
}
}
// 将新数组元素复制回原数组
System.arraycopy(nonZeroArr, 0, arr, 0, nonZeroCount);
}
// 输出结果
for (String s : arr) {
System.out.print(s + " ");
}
```
输出结果为:`1 5 6 7 4`
相关问题
使用Java中的迭代器遍历以下数组:int[] arr = {1,332,43,25,3324,34,335,4,45,2,43,52,54};
可以使用Java中的ArrayList来创建一个包含这个数组元素的列表,然后使用迭代器遍历这个列表,代码如下:
```java
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 332, 43, 25, 3324, 34, 335, 4, 45, 2, 43, 52, 54};
ArrayList<Integer> list = new ArrayList<>();
for (int i = 0; i < arr.length; i++) {
list.add(arr[i]);
}
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
```
输出结果:
```
1
332
43
25
3324
34
335
4
45
2
43
52
54
```
JAVA 给string[] arr 数组添加元素
有两种方式可以给 String 数组添加元素:
1. 使用 Arrays.copyOf 方法
```java
String[] arr = {"apple", "banana", "orange"};
// 创建一个新的数组,长度比原数组多1
String[] newArr = Arrays.copyOf(arr, arr.length + 1);
// 在新数组的最后一个位置添加一个元素
newArr[newArr.length - 1] = "grape";
// 打印新数组
System.out.println(Arrays.toString(newArr)); // [apple, banana, orange, grape]
```
2. 使用 ArrayList
```java
String[] arr = {"apple", "banana", "orange"};
// 将数组转换为 ArrayList
List<String> list = new ArrayList<>(Arrays.asList(arr));
// 在 ArrayList 的末尾添加一个元素
list.add("grape");
// 将 ArrayList 转换为数组
arr = list.toArray(new String[0]);
// 打印新数组
System.out.println(Arrays.toString(arr)); // [apple, banana, orange, grape]
```