trying to make list inside list if
List<String> dataList = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10' , '11', '12', '13', '14', '15', '16', '17', '18' , '19', '20', '21', '22'];
List<int> dataListLength = [5 , 7, 10];
List<List<String>> listList = [];
try to show listList[0] looks like ['1', '2', '3', '4', '5'], listList[1] looks like ['6', '7', '8', '9', '10' , '11', '12'], listList[2] looks like ['13', '14', '15', '16', '17', '18' , '19', '20', '21', '22'] like this????
CodePudding user response:
Try this
List<String> dataList = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10' , '11', '12', '13', '14', '15', '16', '17', '18' , '19', '20', '21', '22'];
List<int> dataListLength = [5 , 7, 10];
List<List<String>> listList = [];
int start = 0;
for(var i in dataListLength){
List<String> temp = [];
for(int j=start; j<i start; j ){
temp.add(dataList[j]);
}
listList.add(temp);
start = i;
}
print(listList);
result
[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11, 12], [13, 14, 15, 16, 17, 18, 19, 20, 21, 22]]
CodePudding user response:
try below code.
i think you can use this function List.getRange(int, int)
In Dart, you don't need to specify the list size.
void main() {
List<String> dataList = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10' , '11', '12', '13', '14', '15', '16', '17', '18' , '19', '20', '21', '22'];
List<List> listList = [dataList.getRange(0,4).toList(),
dataList.getRange(5,11).toList(),
dataList.getRange(11,21).toList()];
print(listList);
}
