Qual a diferença entre Vetor e Lista?

Olá, estava estudando sobre estrutura de dados, li em algum lugar que um vetor é uma estrutura de dados estática, e uma lista é uma estrutura linear, não entendi muito bem qual é principal diferença entre essas estruturas, alguém poderia indicar um post ou até mesmo explicar as principais diferenças entre as duas?

Um vetor, ao ser criado, já tem o tamanho pré-determinado na criação, não podendo mais ser alterado. Uma lista possui um tamanho dinâmico, na medida que elementos forem sendo incluídos ou removidos.

Exemplo em java para vetor e lista:

// Vetor (ou array, são a mesma coisa) de números com 10 posições
int[] numerosVetor = new int[10];

// Lista de números
List<Integer> numerosLista = new ArrayList<>();
1 curtida

Já tinha visto os exemplos antes, achava que ambos se referiam a listas, valeu ajudou bastante a distinguir os conceitos.

Uma curiosidade é que o ArrayList do java usa vetor por debaixo do capô. A diferença é que tem um algoritmo que aumenta o tamanho do vetor fazendo cópias com base nos novos elementos.

1 curtida