Opa! Obrigado pelo comentário!
Bom, na verdade eu concordo com teu comentário, mas eu acredito que independente da tua linguagem é essencial tu se munir com as estruturas que ela oferece nativamente e também entender estruturas clássicas (linked-lists, trees, stacks...).
Entender as estruturas que tua linguagem já implementa nativamente é mais simples e é algo que muitas vezes tu vai acabar.
Se tu trabalha com Java, estude sobre LinkedList, Deque/ArelasrayDeque, HashMap e outras estruturas que a linguagem oferece.
A menos que teu sistema dependa de uma estrutura específica ou que tu priorize muito performance não vejo razão pra implementar uma estrutura manualmente. Isso é algo que tu vai querer fazer depois, quando as coisas escalarem.