【发布时间】:2017-12-05 01:02:46
【问题描述】:
我有以下格式的数据:
["DATA1-1","DATA1-2","DATA1-3","DATA1-4","","DATA2-1","DATA2-2","DATA2-3","DATA2-4","","DATA3-1","DATA3-2","DATA3-3","DATA3-4",""]
我想将此数组拆分为多个数组,其中分隔符应为空项 ("")。像这样的:
[["DATA1-1","DATA1-2","DATA1-3","DATA1-4"],["DATA2-1","DATA2-2","DATA2-3","DATA2-4"],["DATA3-1","DATA3-2","DATA3-3","DATA3-4"]].
这是我想出的代码:
private List<List<String>> retrieveData(List<String> arrayIn)
{
List<List<String>> subArrays = new ArrayList<>();
List<String> tempArrays = new ArrayList<>();
for(int i=0; i<arrayIn.size(); i++)
{
if(!airwayIn.get(i).equals("") && i != (airwayIn.size()-1) )
{
tempArrays.add(airwayIn.get(i));
}
else if (airwayIn.get(i).equals("") || i == (airwayIn.size()-1) )
{
subArrays.add(tempArrays);
tempArrays = new ArrayList<>();
}
}
return subArrays;
}
但我想知道是否有更优雅的代码可以做到这一点。例如,这是我在 Swift 中使用的:
let subArrays: [[String]] = airwayIn.split(separator: "").map{Array($0)}
谢谢!
【问题讨论】:
-
如果这个工作代码属于 codereview.stackexchange.com 不在这里
-
注意到了类似的帖子。之前没能找到。谢谢!