Используйте стандартную библиотеку API как Бог, я имею в виду Гослинга.
Серьезно, они были подправлены, оптимизированы и исправлены сотни раз - вряд ли вы добьетесь большего успеха.
На самом деле java.util.LinkedList уже имеет счетчик размера. Но ArrayList лучше для большинства случаев (исключение: если вам часто нужно удалять элементы при обходе).
Кстати, 500-1000 элементов - это смена чурбана. Ничего. Вы потратили больше времени на задание этого вопроса, чем ваша программа выполняла бы реализацию O (n) миллион раз.
Редактировать: Чтобы сохранить более одного фрагмента данных в одном узле или слоте списка, напишите класс, в котором ваши данные представлены в виде полей (приватных и доступных через set и get, если вы хотите, чтобы они были особенно "чистый") и помещать экземпляры этого класса в список.