У меня есть многомерный массив, построенный из строк, который изначально был создан с размером [50] [50], он слишком большой, и теперь массив заполнен нулевыми значениями, в настоящее время я пытаюсь удалить эти указанные нулевые значения,Мне удалось изменить размер массива до [requiredSize] [50], но я не могу уменьшить его дальше, кто-нибудь может мне помочь с этим?Я искал в Интернете такой ответ, но не могу его найти.
Вот и мой полный код (я понимаю, что в моем коде могут быть какие-то очень нечистые части, я еще ничего не могу почистить)
import java.io.*;
import java.util.*;
public class FooBar
{
public static String[][] loadCSV()
{
FileInputStream inStream;
InputStreamReader inFile;
BufferedReader br;
String line;
int lineNum, tokNum, ii, jj;
String [][] CSV, TempArray, TempArray2;
lineNum = tokNum = ii = jj = 0;
TempArray = new String[50][50];
try
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Please enter the file path of the CSV");
String fileName = in.readLine();
inStream = new FileInputStream(fileName);
inFile = new InputStreamReader(inStream);
br = new BufferedReader(inFile);
StringTokenizer tok,tok2;
lineNum = 0;
line = br.readLine();
tokNum = 0;
tok = new StringTokenizer(line, ",");
while( tok.hasMoreTokens())
{
TempArray[tokNum][0] = tok.nextToken();
tokNum++;
}
tokNum = 0;
lineNum++;
while( line != null)
{
line = br.readLine();
if (line != null)
{
tokNum = 0;
tok2 = new StringTokenizer(line, ",");
while(tok2.hasMoreTokens())
{
TempArray[tokNum][lineNum] = tok2.nextToken();
tokNum++;
}
}
lineNum++;
}
}
catch(IOException e)
{
System.out.println("Error file may not be accessible, check the path and try again");
}
CSV = new String[tokNum][50];
for (ii=0; ii<tokNum-1 ;ii++)
{
System.arraycopy(TempArray[ii],0,CSV[ii],0,TempArray[ii].length);
}
return CSV;
}
public static void main (String args[])
{
String [][] CSV;
CSV = loadCSV();
System.out.println(Arrays.deepToString(CSV));
}
}
CSV-файл выглядит следующим образом
Height,Weight,Age,TER,Salary
163.9,46.8,37,72.6,53010.68
191.3,91.4,32,92.2,66068.51
166.5,51.1,27,77.6,42724.34
156.3,55.7,21,81.1,50531.91
Очевидно, что он может иметь любой размер, но это всего лишь пример файла.
Мне просто нужно изменить размер массива, чтобычто он не будет содержать нулевых значений.
Я также понимаю, что список будет лучшим вариантом, но это невозможно из-за внешних ограничений.Это может быть только многомерный массив.