【发布时间】:2014-12-24 16:01:24
【问题描述】:
我有一个数组的 ArrayList,我将“5”更改为“12 6”然后我将“3”与“12 6”连接起来。
[2,4,6] [1,3,5] => [2,4,6] [1,3, 12 6] => [2,4,6] [1,3 12 6, 12 6]
现在我想删除“12 6”,我的数组列表变成 [2,4,6] [1,3 12 6]
然后我想使 [1,3 12 6] 到 [1,3,12,6]
我的列表看起来像 [2,4,6] [1,3,12,6]
我不知道这是否可能以及如何去做(也许还有另一种方法)。我必须删除一个数字并添加两个数字
List<String[]> list = new ArrayList<String[]>();
String [] arr1 = {"2","4","6"};
String [] arr2 = {"1","3","5"};
list.add(arr1);
list.add(arr2);
for (String[] ss : list)
{
//System.out.println(Arrays.toString(ss));
for ( i = 0; i < ss.length; i++) {
if (ss[i] == "5") {
System.out.println("Yes");
ss[i] = " 12 6";
ss[i-1] = ss[i-1] + String.valueOf(ss[i]);
}
}
System.out.println(Arrays.toString(ss));
}
【问题讨论】:
-
我完全不知道你想在这里做什么。你的算法很奇怪,它可能不是最好的解决方案。
-
我没有你的问题的答案,但我强烈建议使用
Lists 而不是数组。正如 DCS_Kurtis_IT_Manager 的回答所示,Lists 比数组灵活得多。另外,我不知道您为什么要将整数表示为Strings。简而言之,将List<String[]>替换为List<List<Integer>>,您会发现这更容易。 -
另外,我注意到您在
if statement中检查了ss[i] == "5"。切勿将对象与 java 中的==进行比较,仅将对象与.equals()进行比较。基元(数字和枚举)非常适合与==进行比较,因为==比较对象的实例,而数字和枚举将始终是同一个对象,而比较字符串ss[i]和"5"是两个不同的对象。
标签: java arrays string arraylist