【发布时间】:2016-04-16 07:44:41
【问题描述】:
我有一个类 SomeClass 和一个静态成员 myMap enter code here,其形式为 HasmMap<String,ArrayList<SomeOtherClass>>,它从文件中反序列化。
我有办法
public ArrayList<SomeOtherClass> getList(final String key, final int N)
应该在映射中查找key 并返回相应ArrayList 的第一个N 元素,或者如果列表具有<= N 元素,则返回整个内容。我应该如何实现下面的TODO 行:
public ArrayList<SomeOtherClass> getList(final String key, final int N)
{
ArrayList<SomeOtherClass> arr = myMap.get(key);
if (arr == null) return null;
if (arr.size() <= N)
{
return arr;
}
else
{
// TODO: return first N elements
}
}
要高效地执行此操作,即在实际返回正确数据的同时不在内存中创建不需要的副本?
【问题讨论】:
-
有一个
subList方法。你可以使用它。