Я вызываю 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;
}
Решение 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;
}