簡體   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