Oi Fernando, um ArrayList é parecido com um vetor. Se queremos inserir um elemento em um vetor precisamos deslocar todos os demais elementos uma posição a frente - isso dá muito trabalho (a mesma coisa vale para remover). Já o LinkedList é uma lista ligada, onde um elemento guarda também a referência do próximo elemento - dessa maneira, para inserir ou remover um elemento não precisamos deslocar os demais elementos, apenas mudar a referência do próximo elemento.
Sobre a leitura, o ArrayList mantém o sistema baseado em índice para seus elementos o que torna mais rápida a busca. E como o LinkedList é uma ista ligada precisamos percorrer toda lista para fazer uma busca.
Portanto, o ArrayList possui leitura e acesso mais rápido para seus elementos se comparado com o LinkedList. E o LinkedList possui inserção e remoção de elementos mais rápidos do que o ArrayList.
espero ter ajudado e bons estudos!