【发布时间】:2021-01-25 09:05:52
【问题描述】:
我有一个包含以下元素的字符串数组
5.0,99,5.5,100,6.0,101
现在我要做的是删除所有字符串格式的十进制值,例如 5.0,5.5 和 6.0
所以我的最终数组应该包含元素99,100,101
所以到目前为止我所做的是显示在下面的代码中
public static String[] deleteElement(String[] str_array) {
//String[] str_array = {"item1","item2","item3"};
List<String> list = new ArrayList<String>(Arrays.asList(str_array));
list.remove("5.0");
list.remove("5.5");
list.remove("6.0");
return str_array = list.toArray(new String[0]);
}
我已经硬编码了这些值,这是非常糟糕的做法,因为将来的值可能会超过当前值,所以我想要一种使用 index 删除的方法。
我也尝试使用 remove(index) 删除,甚至使用 0,2,4 之类的索引定位,但实际发生的是,在删除 5.0 后,元素向左移动,因此 100 进入第二个位置,并在下一次迭代中删除 100。
那么有什么方法可以构造一个通用函数,所以如果十进制值中有更多元素,那么它也可以被删除。
注意: 字符串十进制值将始终驻留在偶数索引位置。
【问题讨论】:
-
解析
ArrayList从n-1到0并使用contains(".")方法,如果它只是remove它 -
你好,在我的代码中演示一下
-
一分钟后好的。我会发布答案
标签: java arrays list arraylist