[英]How to iterate through 2d array to split the inner array in java
我有以下二维数组:
[[Reflux Symptom Sensitivity Index (Impedance)], [Symptom Acid Nonacid All Reflux], [Regurgitate 34% 71% 36%], [Stomach pain 21% 14% 19%], [Chest pain 3% 0% 3%], [], [Reflux Symptom Association Probability (Impedance)]]
我想要除第一个数组之外的所有内部数组,通过空格,以便我最终得到:
[[Reflux Symptom Sensitivity Index (Impedance)], [Symptom,Acid, Nonacid, All, Reflux], [Symptom,Acid, Nonacid, All, Reflux], [Symptom,Acid, Nonacid, All, Reflux],[Chest pain,3%,0%,3%]]
我可以编写以下代码:
ArrayList<List<String>> Arr_RSI_table2d = new ArrayList<List<String>>();
List<String> stats = Arr_RSI_table2d.get(1);
// remove() returns the object that was removed
String allStats = stats.remove(0);
String allStats2=allStats.trim();
Collections.addAll(stats, allStats2.split("\\s"));
List<String> Arr_RSI_table2d_col2 = Arr_RSI_table2d.get(2);
// remove() returns the object that was removed
String All_Arr_RSI_table2d_col2 = Arr_RSI_table2d_col2.remove(0);
String All_Arr_RSI_table2d_col2_2=allStats.trim();
Collections.addAll(Arr_RSI_table2d_col2, All_Arr_RSI_table2d_col2_2.split("\\s"));
List<String> Arr_RSI_table2d_col3 = Arr_RSI_table2d.get(3);
// remove() returns the object that was removed
String All_Arr_RSI_table2d_col3 = Arr_RSI_table2d_col3.remove(0);
String All_Arr_RSI_table2d_col3_2=allStats.trim();
Collections.addAll(Arr_RSI_table2d_col3, All_Arr_RSI_table2d_col3_2.split("\\s"));
List<String> Arr_RSI_table2d_col4 = Arr_RSI_table2d.get(4);
// remove() returns the object that was removed
String All_Arr_RSI_table2d_col4 = Arr_RSI_table2d_col4.remove(0);
String All_Arr_RSI_table2d_col4_2=allStats.trim();
Collections.addAll(Arr_RSI_table2d_col4, All_Arr_RSI_table2d_col4_2.split("\\s"));
我怎样才能做到这一点?
你可以尝试这样的事情;
for (int i = 1; i < myArray.size(); i++) {
String[] innerArray = myArray.get(i);
for (int j = 0; j < innerArray.length; j++) {
innerArray[j] = removeWhiteSpace(innerArray[j]);
}
}
您将需要一个辅助方法来删除空格:
private String removeWhiteSpace(String toTrim) {
String toRet = "";
String trimSplit[] = toTrim.split(" ");
for (String word : trimSplit) {
if (!word.trim().isEmpty()) {
toRet = toRet + word + " ";
}
}
return toRet.trim();
}
这是未经测试的,但它应该可以正常工作。 让我知道事情的后续。
ArrayList<List<String>> myList = new ArrayList();
void loopThroghArray() {
for (List<String> list : myList) {
//outer loop
for (String string : list) {
//inner loop
}
}
}
很难理解你的代码,因为你甚至没有给出数组的类型 bt 在这里我做了一个循环遍历二维数组的例子。 我使用增强的 for 循环来循环第一个数组和另一个增强的 for 循环来迭代第二个数组,您可以在第二个 for 循环内进行拆分。 你可能想试试这个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.