Вам нужно использовать дженерики в Java для написания программ, независимых от типов. Массивы и дженерики не очень хорошо играют вместе. Поэтому вместо пустого массива вы можете рассмотреть возможность использования ArrayList
с универсальным типом. ArrayList
внутренне является только массивом, который обладает интеллектом для выделения нового большего массива и копирования всего из исходного массива в новый массив, когда в исходном массиве заканчивается свободное место. Хотя он отвлекает все эти сложности от программиста, он несет затраты. Следовательно, при использовании ArrayList
с обобщениями для построения программы сортировки кучи убедитесь, что вы используете метод ensureCapacity
или соответствующий конструктор, чтобы указать ожидаемый размер массива. Наконец, для сравнения универсальных объектов вам нужно передать соответствующую Comparator
реализацию.