dart 如何将条目添加到列表中的特定索引?

wsewodh2  于 2023-06-03  发布在  其他
关注(0)|答案(6)|浏览(151)

我可以调用list.add(),它在末尾添加,但没有方便的方法向特定索引添加条目,同时增长列表。

bvhaajcl

bvhaajcl1#

dart 2

var idx = 3;
list.insert(idx, 'foo');

这取决于您是要插入单个项还是要插入一组项

所有可用方法https://api.dartlang.org/stable/2.1.0/dart-core/List-class.html#instance-methods

bq9c1y66

bq9c1y662#

你可以使用insertRange,它会在添加新元素时增长列表。

var list = ["1","3","4"];
list.insertRange(0, 1, "0");
list.insertRange(2, 1, "2");
list.forEach((e) => print(e));

您可以在DartBoard here上试用

bvjveswy

bvjveswy3#

您现在可以使用insert()removeAt()方法。

0md85ypi

0md85ypi4#

insertRange(index,range,[elem])就是我要找的东西。

n3h0vuf2

n3h0vuf25#

你可以使用

void insert(int index, E element);

将[iterable]的所有对象插入此列表中的[index]位置。这将使列表的长度增加[iterable]的长度,并将所有后面的对象移到列表的末尾。该列表必须是可增长的。[index]值必须为非负且不大于[length]。

rfbsl7qr

rfbsl7qr6#

Lars Tackmann给出的答案是完全正确的,但现在这种方法在DART中不可用。观察新方法insert和insertAll。

void main() {

    final list = [1,2,3,4,5,6,7,8]; 
    
    // insert at particular indexed
    list.insert(2,50); // (index,value)
    // output : [1, 2, 50, 3, 4, 5, 6, 7, 8]
    //  as you sow value 50 inserted at index 2 
    
    final list2 = [1,2,3,4,5,6,7,8]; 
    // insert list inside list at perticular indexed 
    final allList = [11,22,33]; 
  
    // allList add at index = 3 in list2 
    list2.insertAll(3,allList); 
    
    // output : [1, 2, 3, 11, 22, 33, 4, 5, 6, 7, 8]  
    
}

相关问题