Noções básicas sobre matrizes de Java
Até agora, nos referimos às classes String e StringBuilder como uma “sequência de caracteres.” Isso é verdade. Eles são implementados usando uma matriz de caracteres. Uma matriz é uma área de memória na pilha com espaço para um número designado de elementos. Uma string é implementado como uma matriz com alguns métodos que você pode querer usar quando se lida com caracteres específicos. Um StringBuilder é implementado como uma matriz onde o objeto da matriz é substituído por um novo objeto de matriz maior quando ficar sem espaço para armazenar todos os caracteres. Uma grande diferença é que um array pode ser de qualquer outro tipo de Java. Se não quiséssemos usar uma String por algum motivo, poderíamos usar uma matriz de primitivos char diretamente:
char[] letters;
Isso não seria muito conveniente porque perderíamos todas as propriedades especiais que String nos dá, como escrever "Java". Tenha em mente que letters é uma variável de referência e não um primitivo. char é um primitivo. Mas char é o que entra no array e não o tipo do matriz em si. O array em si é do tipo char [] . Você pode ler mentalmente os colchetes ( []) como "Matriz".
Em outras palavras, um array é uma lista ordenada. Pode conter duplicados. Você vai aprender sobre estruturas de dados que não podem conter duplicatas para o exame OCP. Nesta secção, nós vamos olhar para a criação de uma matriz de primitivos e objetos, classificação, pesquisa, varargs e matrizes multidimensionais.