При создании классов в Java я часто нахожу, что создаю коллекцию на уровне экземпляра, которую я знаю заранее, будет очень маленьким - менее 10 элементов в коллекции. Но я не знаю количество элементов загодя, поэтому я обычно выбираю динамическую коллекцию (ArrayList, Vector и т. Д.).Использование небольших (1-10 элементов) Коллекции экземпляров в Java
class Foo
{
ArrayList<Bar> bars = new ArrayList<Bar>(10);
}
Часть меня держит нытье на меня, что это расточительно использовать сложные динамические коллекции что-то в этом небольшом по размеру. Есть ли лучший способ реализовать что-то подобное? Или это норма?
Примечание. Я не подвергаюсь никаким (заметным) штрафам за исполнение или что-то в этом роде. Мне просто интересно, нет ли лучшего способа сделать что-то.
Ничто из того, что вы говорите, само по себе не так, но я не хотел бы делать ничего из этого. Сложность, связанная с каким-то динамическим перемещением между объектами -> массивом -> ArrayList, настолько велика, и стоимость просто создания простого массива ArrayList настолько мала, что я думаю, что это просто плохое предложение – 2008-09-11 17:53:26
Это редко бывает важно, но когда это важно он фиксируется. Например, javac делает странные вещи, чтобы память, используемая строками, была небольшой, поэтому мы все выигрываем от более быстрых и небольших компиляций. – 2008-10-04 17:51:04