考虑一个类 DataHolder
属性:
- 名称:数据名称
- 值:值(逗号分隔)
我的输入是DataHolders的列表。 例如:
DataHolder列表:
DataHolder1:名称:A,值: 1,2DataHolder2:名称:B,值: X
DataHolder3:名称:C,值: a,b,c
我想从数据中构建一个像这样的字符串列表: 1Xa 1倍 1Xc 2Xa 2倍 2Xc
我想出了使用递归的逻辑。
void formString(List<DataHolder> dataHolders, int currentIndex, String formedString, int size){
if(currentIndex == size){
// store formedString in a list and return
}
else{
1. get value from dataholder
2. String tokenize the value
3. iterate over the tokenized value and for each tokenized value call
formString(dataHolders, currentIndex + 1, formedString + tokeizedValue,
size)
}
}
我的代码有效,并且产生了预期的输出。 1Xa 1倍 1Xc 2Xa 2倍 2Xc
除了递归方法之外,还有其他更好的方法吗?