java使用分隔符将数组拆分为数组数组
我有以下格式的数据:
["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)}
谢谢大家!
# 1 楼答案
下面是一个使用Java 8的解决方案:
输出:
# 2 楼答案
您可以通过一个简单的
for
循环来完成,例如: