我的问题是当我将提供的数据放入ArrayList <>中时。 使用cityDataItemList.add(cityDataItem)行; 同样,如何将相同的数据放入hashmap对象?
public class SampleDataProvider {
public static List<CityDataItem> cityDataItemList;
public static Map<String,CityDataItem> dataItemMap;
static
{
cityDataItemList=new ArrayList<>();
dataItemMap=new HashMap<>();
addItem(new CityDataItem(null,"Lahore",2,
"Punjab",15000000,
"Lahore is 2nd Largest City of Pakistan ",
"lahore.jpg"));
addItem(new CityDataItem(null,"Islamabad",3,
"Capital Terrortory",15000000,
"Islamabad is a DarulHakumt of Paksitan",
"islamabad.jpg"));
}
private static void addItem(CityDataItem cityDataItem) {
cityDataItemList.add(cityDataItem);
}
}
答案 0 :(得分:1)
这就是你可以做的
dataItemMap.put("your_key",new CityDataItem(null,"Islamabad",3,
"Capital Terrortory",15000000,
"Islamabad is a DarulHakumt of Paksitan",
"islamabad.jpg"));
HashMap
提供了一种put()
方法,可根据上述
put("your_key",new CityDataItem(null,"Islamabad",3,
"Capital Terrortory",15000000,
"Islamabad is a DarulHakumt of Paksitan",
"islamabad.jpg"));
your_key
是关键部分,其余new CityDataItem(null,"Islamabad",3,
"Capital Terrortory",15000000,
"Islamabad is a DarulHakumt of Paksitan",
"islamabad.jpg"));
是价值部分。
在声明HashMap
变量时,定义键值的类型。例如
第public static Map<String,CityDataItem> dataItemMap;
行表示变量dataItemMap
将由两部分组成,
一个键-一种String
。
一个值-一种CityDataItem
的类型。
您以后可以使用HashMap
方法从get()
中提取项目。
要提取已经增加的价值,我们只需要键来提取值,例如hashMapObj.get("my_key")
,您将获得值已存储为提供的相应 Key 。