gpt4 book ai didi

java - 将 ArrayList> 追加到另一个 ArrayList>

转载 作者:行者123 更新时间:2023-12-01 10:20:57 26 4
gpt4 key购买 nike

我正在使用ArrayList<HashMap<String, String>>存储我的购物车元素。每次将商品添加到购物车时,商品详细信息都会设置为 ArrayList然后调用setCart()方法。

我想要 ArrayList 中的项目已经存在,然后通过调用 setCart()它不会覆盖以前的购物车项目。相反,它会附加 ArrayList到已经存在的 ArrayList 的末尾。我使用了 ArrayList.add() 方法,但它仅适用于 HashMap<String,String>不为 ArrayList<HashMap<String, String>> 工作

public class AddtoCart extends Application {
ArrayList<HashMap<String, String>> cart;

public void setCart(ArrayList<HashMap<String, String>> data) {
cart = data;
}

public ArrayList<HashMap<String, String>> getCart() {
return cart;
}

public int getSize() {
return cart.size();
}
}

调用 addtocart 的方法正在设置ArrayList的按钮在AddtoCart

private OnClickListener Cart = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
cart = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_PID, pid);
map.put(TAG_NAME, name);
map.put(TAG_CATEGORY, category);
map.put(TAG_PRICE, price);
map.put(TAG_IMAGE,String.valueOf(resId));
cart.add(map);

AddtoCart obj = (AddtoCart) getApplicationContext();
obj.setCart(cart);

Intent a = new Intent("com.example.pb.VIEWCART");
startActivity(a);
}
};

}

最佳答案


我有一个建议给你。
我们必须设计CartItem类而不是HashMap,以便将来的更改更容易。如果您想在后期添加任何新的标签相关属性,我们可以将这些属性添加到 CartItem 类中。它将有助于在代码中实现模块化对象。
例子:

public class CartItems
{

int tagPid;
String tagCategoy;
int price
String tagImage;

// getters and setters methods of above attributes
}


public class AddtoCart extends Application {
ArrayList<CartItems> cart;

//remaining code
}

关于java - 将 ArrayList<HashMap<String, String>> 追加到另一个 ArrayList<HashMap<String, String>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35630167/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com