Qual é a diferença entre array e vetor?

Tô com essa dúvida, alguém poderia me explicar?

Array é o termo Americano para vetor/matriz.

Um Array Unidimensional é um vetor, exemplo:

int [] vetor = new int[];

Um Array Bidimensional é uma matriz, exemplo:

int [][] matriz = new int[][];
1 curtida

Entendi. Obrigada!

Vale notar que por mais que o conceito seja o mesmo de uma estrutura linear unidimensional de acesso aleatório, etc, etc, que há linguagens que possuem diferentes estruturas com o nome de “vector” e “array”, como é o caso do C++ e de Java, por exemplo.

Dai nesses casos tem que ver a documentação da linguagem para entender as diferenças praticas na implementação de cada uma.

eu estou programando aprendendo C e Java, poderia me explicar o que quer dizer com “diferentes estruturas”?

Em Java vc tem os arrays comuns, cujo tamanho não pode ser alterado e que vc declara da seguinte forma:

int[] array1 = { 1, 2, 3 };
int[][] array2 = { {1, 2}, {3, 4} };

E tem também as implementações de List, como ArrayList e Vector.

Estas 2 classes funcionam de forma semelhante, ambas representam um array que pode aumentar ou diminuir conforme a necessidade.

Contudo, a diferença é que Vector é thread-safe, o que significa que quando vc precisa de um array dinamico que vai ser acessado por multiplas thread, provavelmente vc vai querer usá-lo.

Vc pode saber mais sobre cada uma delas nos links abaixo:

https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/util/ArrayList.html

https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/util/Vector.html

No C++, como o @Kronal disse, há as classes std::vector e std::array.

A std::array é um container que vc pode seguramente usar no lugar dos arrays comuns ao estilo de C.

int array1[3] = { 1, 2, 3 };
std::array<int, 3> array2{1, 2, 3};

Já o std::vector é dinamico, seu tamanho cresce conforme a necessidade.

Saiba mais em:

http://www.cplusplus.com/reference/array/array/

http://www.cplusplus.com/reference/vector/vector/

3 curtidas

Estava me referindo a que “array” é uma ideia, um conceito, mas existem diferentes jeitos de colocar isso em pratica.

Array ou vetor são um conceito que é parte das chamadas “estruturas de dados”.

Estruturas de dados são formas de tu organizar informações e definir o jeito que tu vai manipular essas informações.

Dai tem diferentes jeitos que tu pode programar o funcionamento da ideia de “array” como software, e na hora dos caras que criaram algumas linguagens batizaram algumas dessas implementações de “array” outras de “vector” ou “vetor”, sendo que tem linguagens que tem estruturas de dados chamadas com os 2 nomes mas tem alguns detalhes diferentes.

2 curtidas