我想使用一些来自ArrayList的数据集。我有2种在ArrayList中存储数据的方法。
第一种方法:
private ArrayList<HashMap<String, String>> showList = new ArrayList<HashMap<String, String>>();以及HashMap结构在哪里
HashMap<String, String> map = new HashMap<String, String>();
map.put("title","Mytitle");
map.put("Description", "MyDescription for show");第二种方法:
private ArrayList<DataProvider> showList = new ArrayList<DataProvider>();而DataProvider是
public class DataProvider{
public String title = "";
public String description = "";
public void setTitle(String mTit){
title = mTit;
}
public void setDescription(String mDec){
description = mDec;
}public String getTitle(){
return title ;
}public String getDescription(){
return description;
}我知道如何存储和检索数据表单ArrayList。我想知道哪一个能更好地执行、和更快的。
发布于 2014-07-30 09:17:01
如果您的数据有一组常量字段,那么很明显,DataProvider方法更快,因为从Map获取对象(尽管速度相当快)需要进行一些搜索。对于第二个尺寸的地图来说,这是相当微不足道的。Map方法还将使用更多的内存(在Map实现中分配其他对象和字段)
但是,如果您有一些对象,例如商店中的产品,您可能有一组不同的属性,就像某些产品可能有颜色,有些奇怪,这是Map可能有用的地方。
您还可以考虑使用List的不同实现,这取决于大多数情况下您想要对列表做什么(大量插入/删除/或仅仅通过对象在列表中的位置获取对象)。
发布于 2014-07-30 09:19:59
第二种方法最好是第一种.For更清晰,您可以参考
地图接口
列表接口和集接口
我觉得这会对你有帮助。
发布于 2014-07-30 09:31:57
实际上是SPEED,我去掉了时差-
public class Test
{
private static ArrayList<HashMap<String, String>> showList1 = new ArrayList<HashMap<String, String>>();
private static ArrayList<DataProvider> showList2 = new ArrayList<DataProvider>();
public static void main(String args[]) throws Exception
{
Date a1=new Date();
HashMap<String, String> map = new HashMap<String, String>();
map.put("title","Mytitle");
map.put("Description", "MyDescription for show");
showList1.add(map);
Date a2=new Date();
System.out.println(a2.getTime()-a1.getTime());
Date b1=new Date();
DataProvider dataProvider=new DataProvider();
dataProvider.setTitle("Mytitle");
dataProvider.setDescription("MyDescription for show");
showList2.add(dataProvider);
Date b2=new Date();
System.out.println(b2.getTime()-b1.getTime());
}
}
class DataProvider{
public String title = "";
public String description = "";
public void setTitle(String mTit){
title = mTit;
}
public void setDescription(String mDec){
description = mDec;
}
public String getTitle(){
return title ;
}
public String getDescription(){
return description;
}
}产出-
0
0https://stackoverflow.com/questions/25032813
复制相似问题