Есть веб чат, и есть метод класса Чат возвращающий последние записи. Записи хранятся в виде очереди первым пришел - первым вышел. Нужно вернуть последние записи в чате (при ajax запросе от веб-страницы). При этом есть проверка на древность и самые древние записи из списка записей убираются. Это предыстория, а теперь собственно вопрос. Нормально ли возвращать В данном методе массив? Как это в плане производительности и прочих соображений? Или вернуть List? Или просто почистить коллекцию от древних записей и вернуть в вызывающий код итератор? Вызывающий код перегоняет объекты ChatRecord в json и отдает клиенту. Подскажите плиз ))
public ChatRecord[] getTail( int tailSize ) {
long time = System.currentTimeMillis();
ChatRecord[] ret = new ChatRecord[tailSize];
ListIterator last = getIterator();
for( int i = 0; i < tailSize; ++i ) {
if( !last.hasNext() )
break;
ChatRecord record = (ChatRecord) last.next();
if( ( time - record.received ) > keepTime )
last.remove();
else
ret[i] = record;
}
return ret;
}