Вы можете создать новую переменную списка и добавить идентификаторы в список при построении списка.
В дополнение к этому всегда полезно создавать переменные вне метода сборки, потому что каждый раз при каждом создании новой переменной построить метод перестроить. я имею в виду setState.
Следующий код поможет вам лучше понять.
List<Map<String, dynamic>> list = [
{'id': 1, 'name': 'name1'},
{'id': 2, 'name': 'name2'}
];
List<int> _ids = [];
@override
Widget build(BuildContext context) {
_ids.clear();
return Scaffold(
body: Column(
children: <Widget>[
Expanded(
child: ListView.builder(
itemCount: list.length,
itemBuilder: (BuildContext context, int index) {
_ids.add(list[index]['id']);
return ListTile(
title: Text(list[index]['name']),
);
}),
),
FlatButton(
child: Text('Print all ids'),
onPressed: () {
print(_ids.toString());
},
)
],
),
);
}