繁体   English   中英

如何将对象输入到ArrayList <HashMap<String,Object> &gt;

[英]How to input the objects to a ArrayList <HashMap<String,Object>>

我有1个对象(商品)有2个属性: Stringboolean 如何将对象商品输入到ArrayList<HashMap<String, Object>> 因为我想将ArrayList<HashMap<String, Object>>到SimpleAdapter

public class Goods {
    private String goodsName;
    private boolean isCheck = false;
    public String getGoodsName() {
        return goodsName;
    }
    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }
    public boolean isCheck() {
        return isCheck;
    }
    public void setCheck(boolean isCheck) {
        this.isCheck = isCheck;
    }
}
package ngo;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        Goods g = new Goods();
        g.setGoodsName("foo");
        g.setCheck(true);

        Map<String, Goods> map = new HashMap<String, Goods>();
        map.put(g.getGoodsName(), g);

        List<Map<String, Goods>> list = new ArrayList<Map<String, Goods>>();
        list.add(map);

        System.out.println(list.get(0).get("foo").isCheck());
    }
}

显示为true

对于SimpleAdapter的Constructordata参数,这应该是可接受的(如果简单的结构 可以在此处找到更详尽的用法示例

以下是基本示例,其本身无法运行。

ArrayList<HashMap<String, Goods>> listOfMappedGoods = new ArrayList<HashMap<String, Goods>>();

HashMap<String, Goods> goodsList = new HashMap<String, Goods>();

Goods g = new Goods();
g.setGoodsName("foo");
g.setCheck(true);

goodsList.add(g.getGoodsName(), g);
listOfMappedGoods.add(goodsList);

需要注意的一点是,就像每个新的Goods对象都需要使用new Goods()创建一样,每个新的goodsList需要使用new HashMap<String, Goods>()来创建。

如果您使用诸如goodsList.clear()类的东西,那么您仍指的是最初添加到listOfMappedGoods的原始地图,因此您将清除它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM