tom*_*tom 6 java iteration collections performance
我正在调用一个API,它返回一个对象集合.我想得到一些对象的子集.我正在考虑两种解决方案.哪一个会给我更好的表现?根据我的理解,toArray()调用主要是迭代一次收集.如果这是真的,那么解决方案会更好吗?
解决方案1 -
public static List<String> get(UUID recordid, int start, int count) {
List<String> names = new ArrayList<String>();
...
Collection<String> columnnames = result.getColumnNames();
int index = 0;
for (UUID columnname : columnnames) {
if ((index >= start) && (index - start < count)) {
names.add(columnname);
}
index++;
}
return names;
}
Run Code Online (Sandbox Code Playgroud)
解决方案2 -
public static List<String> get(UUID recordid, int start, int count) {
List<String> names = new ArrayList<String>();
...
Collection<String> columnnames = result.getColumnNames();
String[] nameArray = columnnames.toArray(new String(columnnames.size()));
for (int index = 0; index < nameArray.length && count > 0; index++, count--) {
names.add(nameArray[index]);
}
return names;
}
Run Code Online (Sandbox Code Playgroud)
SWo*_*ste 18
如果您的Collection是List,则可以使用该subList(fromIndex, toIndex)方法.
例:
List<String> x = new ArrayList<String>();
List<String> y = x.subList(5, 10);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11801 次 |
| 最近记录: |