我有一个格式为:
2.3 2.5
1.4 4.5
....
NaN NaN
2.2 1.4
4.6 5.6
....
(2列双打,有时都等于“NaN”)
基本上我想将两列分成:
ArrayList<Double> x;
ArrayList<Double> y;
虽然列中的两个数字都不等于“NaN”,但我想将它们添加到数组 x 和 y 中。当 BufferedReader 读取一行时:
NaN NaN
我想将 ArrayList x 和 y 添加到 allX 和 allY。
ArrayList<ArrayList<Double>> allX;
ArrayList<ArrayList<Double>> allY;
然后我想开始一个新的 ArrayList x 和 y 并继续将数据读入它们,直到我到达另一个 NaN NaN 行(我将在其中重复上述过程)或文件末尾。
所以最后我留下了 2 个 ArrayLists of ArrayLists of doubles,x 和 y 数据。
我想不出办法做到这一点,有什么想法吗?
如果它有助于理解我的问题:文件数据是世界上每个国家/地区边界的纬度和经度数据,每个国家/地区由 (lat,lon)=(NaN,NaN) 分隔。我需要将每个国家/地区的数据分成一个 ArrayList,该 ArrayList 都包含在父 ArrayList 中。
目前我有:
BufferedReader br = new BufferedReader(new FileReader(new File("file.txt")));
String line;
String[] data;
while((line=br.readLine())!=null){
data=line.split(" "); //A String array with x and y (could be x="NaN" y="NaN")
//How do I then process this?
}