我在一個String二維數組中存儲了96個變量。我想從中獲得49個變量。 例如如何使用java從二維數組中獲取特定列
variable1 variable2 variable3 variable4...... variable96 -> Original array : 97 variables
5 6 3 5 ...... 6
6 8 8 1 ...... 9
10 4 4 9 ...... 1
. .
. .
. .
2 ... ... ...... 7
我的目的:如果我選擇45級的變量(例如變量1,variable3,variable6,...,variable86),那麼我想使以下2D陣列。
variable1 variable3 variable6 ...... variable86 -> modified array: selected 45 variables
5 3 15 ...... 2
6 8 21 ...... 2
10 4 9 ...... 6
. .
. .
. .
2 ... ... ...... 7
我嘗試使用下面的代碼。但結果是null null null null null....
public static String[][] haveVariable(String[][] strArr){
String[][] twoDArray = new String[strArr.length][strArr[0].length];
int copy = 0;
for(int i=0; i<strArr.length;i++){
if(strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="LSU_rO2Sig_mp[1]"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"
||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]==""||strArr[1][i]=="variable"||strArr[1][i]=="variable"
||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable"||strArr[1][i]=="variable")
{ String tmp = null;
for(int j=0; j<strArr[1].length;j++){
tmp= strArr[i][j];
twoDArray[copy][j]=tmp;
System.out.println(tmp);
}
copy++;
}
}
return twoDArray;
}
我修改代碼。但結果是一樣的...
public static String[][] haveVariable(String[][] strArr){
String[] varName= {"variable1", "variable2", "variable3", "variable4"};
int selectedVariable= 45;// number of original data's variable
String[][] twoDArray = new String[selectedVariable][strArr[0].length];
int copy = 0;
for(int i=0; i<selectedVariable;i++){
if(strArr[i][0].equals(varName)){
for(int j=0; j<strArr[0].length;j++){
String tmp= strArr[i][j];
twoDArray[copy][j]=tmp;
copy++;
}
}
}
return twoDArray;
}
,但結果是same..i不知道是什麼問題
您正在使用==而不是equals()方法的功能! http://stackoverflow.com/questions/7520432/what-is-the-difference-between-vs-equals-in-java –
基本上,你想刪除數組中的某一列? – AxelH
是的, 我想刪除我沒有選擇的列。 – kimHS