【发布时间】:2019-12-08 13:01:10
【问题描述】:
我有以下列表 -
private MiniProductModel selectedProduct;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_product_page);
mPresenter = new ProductPagePresenter(this);
mPresenter.initViews();
mPresenter.initProductData();
Gson gson = new Gson();
List<Map<String, String>> attributesList = selectedProduct.getAttributesList(); //this is the list
所以我得到的原始价值如下 -
[{value=Pink, key=Color}, {value=Yellow, key=Color}]
我想要实现的最终结果是一个包含一个或多个键的映射,每个键都有一个值字符串列表。例如 - 我在这里向您展示的产品有 2 种不同的颜色,所以我需要地图有一个名为 Color 的键和一个包含多个 String 值的值列表。
如何将我的列表转到想要的地图?
编辑 -
这是我目前使用 Wards 解决方案的结果 -
{value=[Sensitive Skin, Normal Skin, Combination Skin, Oily Skin, MEN], key=[Skin Type, Skin Type, Skin Type, Skin Type, Skin Type]}
密钥已重复。为什么?
【问题讨论】:
-
到目前为止你有什么尝试?
-
试图将其转换为包含字符串值列表的映射,但无法弄清楚如何迭代整个列表并将键与每个键进行比较并将它们添加到正确的列表中相同的键值@Ward
-
您的结果显示了一个包含 2 个键的地图:文字
"key"和"value",这有点奇怪 -
谢谢你,这就是问题所在 - 在我得到答案之前结合你的答案。再次感谢! :)
标签: java android list dictionary multiple-value