程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何创建 int 和 list 的映射? 第一个看起来不错第二个代码段不起作用映射文字大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何创建 int 和 list 的映射? 第一个看起来不错第二个代码段不起作用映射文字?

开发过程中遇到如何创建 int 和 list 的映射? 第一个看起来不错第二个代码段不起作用映射文字的问题如何解决?下面主要结合日常开发的经验,给出你关于如何创建 int 和 list 的映射? 第一个看起来不错第二个代码段不起作用映射文字的解决方法建议,希望对你解决如何创建 int 和 list 的映射? 第一个看起来不错第二个代码段不起作用映射文字有所启发或帮助;

我觉得我错过了一些东西,因为这个问题似乎很容易回答。但是,我没有在堆栈溢出或 dart 文档中找到任何内容。

我尝试过的:

var List = Map<int,List<int>>();

List[0] = [];

var List = Map<int,List<int>>();

List[0] = List<int> ListOne;

文档没有多大帮助: https://dart.dev/guides/language/language-tour#maps

而且似乎不存在类似的问题。

我该如何解决这个问题。我需要使用解决方法吗?

您好。

解决方法

int 和 list 的映射

var listMapping = Map<int,List<int>>();    
listMapping[0] = [];
listMapping[33] = [12,345,-23,999999];
listMapping[45] = List<int>();

listMapping[45].add(101);
listMapping[45].add(109);

print(listMapping[33]);

// A map doesn't store things in a asequencial data structure e.g. List or array
// Hence it doesn't implement Iterable and hence it can not be traversed like below
/*for(List<int> list in listMapping){
   print(list);
}*/

列表列表

如果您的情况下的整数键只是存储索引并且将始终是顺序的,例如0,1,2,3... 那么更好的解决方案是 ListLists

var myLists = List<List<int>>()
myLists.add([1,45,56,78]);

var aNewList = [22,33,44,55];
myLists.add(aNewList);
,
@H_477_7@map<int,List<int>> map = Map<int,List<int>> ();
  map[0] = [10,0];
  map[1] = [];

Learn more about dart maps

,

第一个看起来不错

我不确定我是否正确理解您,但是您的第一次尝试在 DartPad 中对我有用。我只是将它重命名为 map,因为它是一个包含列表的地图。

var map = Map<int,List<int>>();

map[0] = [];

您也可以将其声明为 final,因为变量本身不会被重新分配

final map = Map<int,List<int>>();
map[0] = [];

如果对你有帮助,给它一个类型注释

final Map<int,List<int>>();

map[0] = [];

第二个代码段不起作用

var list = Map<int,List<int>>();

//you cAnnot name a value you want to assign
list[0] = List<int> listOne;

也许这就是你想要的:

var list = Map<int,List<int>>();
final listOne = <int>[];
list[0] = listOne

映射文字

这就是我要做的

final map = {0: []};
//or for added clarity 
final Map<int,List<int>> map = <int,List<int>>{0: []};

对地图及其键 (int) 和值 (List) 的简单操作

//assign new array to different keys
map[0] = [0,3,4];
map[2] = <int>[];
map[4] = <int>[0,3];

//remove all values with an array length smaller than two
map.removeWhere((key,value)=>value.length<2);

//remove value at key 0
map.remove(0);

//clear map
map.clear();

[注意]如果您想将一个全新的地图重新分配给地图,您必须将其声明为非最终的

大佬总结

以上是大佬教程为你收集整理的如何创建 int 和 list 的映射? 第一个看起来不错第二个代码段不起作用映射文字全部内容,希望文章能够帮你解决如何创建 int 和 list 的映射? 第一个看起来不错第二个代码段不起作用映射文字所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。