List, Map, Set, 배열 등등을 컬렉션 이라고 한다.
List와 Map으로 이리저리 가지고 놀아보기.
class ModelInfo{
String modelName="";
double modelColumn=0;
double modelRow=0;
ModelInfo(this.modelName, this.modelColumn, this.modelRow);
String returnAsString(){
return '$modelName, $modelColumn x $modelRow';
}
List<dynamic> returnAsList(){
return [modelName, modelColumn, modelRow];
}
Map<String, dynamic> returnAsMap(){
return {'name': modelName, 'column': modelColumn, 'row': modelRow};
}
}
void findModel(List<ModelInfo> model, String modelSelect){
List<Map<String, dynamic>> modelAll=[];
if(modelSelect =='All'){
for(var i in model){
modelAll.add(i.returnAsMap());
}
print(modelAll);
}
else {
for(var i in model){
if(i.modelName == modelSelect){
print('Found: ${i.returnAsString()}');
print(i.returnAsList());
print(i.returnAsMap());
return;
}
}
}
}
void extractModelName(List<ModelInfo> model){
List<String> modelName =[];
for(var i in model){
modelName.add(i.modelName);
}
print('Names: $modelName');
}
void main() {
final model = [
ModelInfo('fourK', 3840, 2160),
ModelInfo('twoK', 1920, 1080),
ModelInfo('twoK1', 1920, 1081),
ModelInfo('twoK2', 1920, 1082),
ModelInfo('twoK3', 1920, 1083),
];
final modelSelect = 'twoK';
extractModelName(model);
findModel(model, modelSelect);
}
// 결과
Names: [fourK, twoK, twoK1, twoK2, twoK3]
Found: twoK, 1920 x 1080
[twoK, 1920, 1080]
{name: twoK, column: 1920, row: 1080}
// modelSelect = 'All'로 할 경우 결과
Names: [fourK, twoK, twoK1, twoK2, twoK3]
[{name: fourK, column: 3840, row: 2160}, {name: twoK, column: 1920, row: 1080}, {name: twoK1, column: 1920, row: 1081}, {name: twoK2, column: 1920, row: 1082}, {name: twoK3, column: 1920, row: 1083}]
'재개발' 카테고리의 다른 글
출시 완료. ㅋ (0) | 2023.01.08 |
---|---|
출시 1차시도 실패. ㅋ (1) | 2023.01.07 |
List와 Map 가지고 놀기 (0) | 2023.01.04 |
iOS 테스트 후 출시 (0) | 2023.01.01 |
안드로이드 테스트 후 출시 (0) | 2023.01.01 |