【发布时间】:2014-09-30 09:24:01
【问题描述】:
在某些情况下,我当时遭受了手术,
我们可以将 HashMap 或模型类 (POJO) 用作 ArrayList Generic,如 ArrayList<HashMap<K,V>>() OR ArrayList<ModelName>()。
你能建议我从记忆的角度和性能的角度来看哪个更好。
我知道两者都更好,但我只是想知道我是否可以选择两种选择....哪个更好?
例如 假设我有 2 个变量都是 POJO 类中的字符串,并且两者都用于 HashMap。
所以我们有列表对象 Like..
final ArrayList<Abc> listAbc = new ArrayList<Abc>();
for(final int i=0;i<2;i++){
Abc modelAbc = new Abc();
abc.setName("name");
abc.setLastName("lastName");
listAbc.add(modelAbc);
}
在这种情况下,我必须采用 ABC 类的两个对象,
在带有 List 对象的 HashMap 中,它将...
final ArrayList<HashMap<String,String>> listMap = new ArrayList<HashMap<String,String>>();
for(final int i=0;i<2;i++){
HashMap<String,String> hashAbc = new HashMap<String,String>();
hashAbc.put("NAME","firstName");
hashAbc.put("LASTNAME","lastName");
listMap.add(hashAbc);
}
在这种情况下,我必须使用 HashMap 的两个对象。
现在告诉我,我必须使用哪个才能获得更好的性能? 哪个是高内存占用者?
【问题讨论】:
-
这取决于您的用例。请说明具体任务
-
你的问题不清楚。 HashMap 和 POJO 没有可比性。用你的用例详细说明问题。
-
我认为您指的是 Java Bean 而不是 POJO
-
如果您担心 POJO/Bean 与 Map 的比较性能,那么您很可能是在考虑错误的事情。它们唯一的共同属性是它们允许存储和访问许多属性/值对。它们以不同的方式存储这些“对”,因此内存消耗和访问性能会有所不同。您应该阅读 (Hash)Map 及其内部工作原理。然后您可能会意识到 Map 的性能将取决于您放入 Map 中的实际 Key...
标签: java android data-structures hashmap