【问题标题】:add to the beginning of a list [duplicate]添加到列表的开头[重复]
【发布时间】:2020-07-04 17:52:48
【问题描述】:

我有一个包含对象的列表(即products)。我不断获取要添加到主列表(产品)开头的新对象(newProducts)。我试图在下面的例子中简化这一点:

void main() {
  List<Product> products = List<Product>();
  products.add(Product(3,"p3"));
  products.add(Product(4,"p4"));

  List<Product> newProducts = List<Product>();
  newProducts.add(Product(1,"p1"));
  newProducts.add(Product(2,"p2"));

  products.addAll(newProducts);
}

class Product{
  int id; String name;
  Product(this.id,this.name);
}

所以最后,我希望列表是这样的:[p1, p2, p3, p4]

【问题讨论】:

标签: dart


【解决方案1】:

来自https://stackoverflow.com/a/57635994/4465386

代替:

List<Product> newProducts = List<Product>();
  products.add(Product(1,"p1"));
  products.add(Product(2,"p2"));

  products.addAll(newProducts);

你可以这样做:

products.insert(0, Product(2,"p2"));
products.insert(0, Product(1,"p1")); 

其他一些选项是使用list.reverse() 来反转列表或使用列表理解products = [...newProducts, ...products]

【讨论】:

    猜你喜欢
    • 2014-12-29
    • 2016-10-01
    • 2020-06-23
    • 2013-11-06
    • 1970-01-01
    • 2013-07-28
    • 2015-12-04
    • 2023-04-03
    • 2017-09-28
    相关资源
    最近更新 更多