Inicialize o array ao mesmo tempo que a declaração
Você pode inicializar um array ao mesmo tempo que a declaração escrevendo:
Código de amostra
static void arraySample() { String[] s = {"Apple", "Orange", "Banana"}; } System.out.println(s[1]);
Resultado de saída:
tangerina
Obtenha o número de elementos em uma matriz – comprimento
Se você deseja obter o número de elementos em um array, use length. Uma coisa a notar é que length é um campo, não um método.
Código de amostra
static void lengthSample() { String[] s1 = {"maçã", "laranja", "uva"}; String[] s2 = {}; System.out.println(s1.length); System.out.println( s2.comprimento); }
Resultado de saída:
3 0
Copiar uma matriz – clone
Clone é útil quando você deseja criar um array igual a outro array.
Código de amostra
static void cloneSample() { String[] s1 = {"maçã", "laranja", "uva"}; String[] s2 = s1.clone(); System.out.println(s1[0] + ' ' + s1[1] + ' ' + s1[2]); System.out.println(s2[0] + ' ' + s2[1] + ' ' + s2[2]); }
Resultado de saída:
Maçãs Laranjas Uvas Maçãs Laranjas Uvas
Copiar uma matriz – Sistema.arraycopy
Os arrays Java têm tamanho fixo na inicialização. Se quiser aumentar o tamanho de um array depois de criado, você precisa usar System.arraycopy.
arraycopy, assim como clone, é usado para copiar um array, mas permite configurações mais detalhadas que clone.
arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src...Copiar array de origem srcPos...Copiar array de origem (src) posição inicial para copiar destino...Copiar array de destino destPos. ..Iniciar posição a ser copiada no comprimento da matriz de destino da cópia (dest)...Número de elementos a serem copiados
Código de amostra
static void arraycopySample() { String[] s1 = {"maçã", "laranja", "uva"}; String[] s2 = new String[5]; System.arraycopy(s1, 0, s2, 0, 3) ; s2[3] = "banana"; s2[4] = "cereja"; System.out.println(s1[0] + " " + s1[1] + " " + s1[2]); System.out .println(s2[0] + " " + s2[1] + " " + s2[2] + " " + s2[3] + " " + s2[4]); }
Resultado de saída:
Maçãs Laranjas Uvas Maçãs Laranjas Uvas Bananas Cerejas
Também é conveniente usar arraycopy ao concatenar arrays.
Código de amostra
static void joinArraySample() { String[] s1 = {"maçã", "tangerina", "uva"}; String[] s2 = {"banana", "cereja", "pêssego"}; int rLen = s1. comprimento + s2.length; String[] rStr = new String[rLen]; //Inicializa o array para o comprimento de s1 e s2 System.arraycopy(s1, 0, rStr, 0, s1.length); System .arraycopy( s2, 0, rStr, s1.length, s2.length); //O objetivo é definir a posição inicial do array de destino da cópia System.out.println(rStr[0] + " " + rStr[1] + " " + rStr[2] + " " + rStr[3] + " " + rStr[4] + " " + rStr[5]); }
Resultado de saída:
Maçãs Tangerinas Uvas Bananas Cerejas Pêssego
Crie uma matriz multidimensional
Você pode criar arrays multidimensionais criando arrays dentro de arrays. Isto é útil ao armazenar dados da tabela.
Código de amostra
static void twoDArraySample() { int[] a1 = {38, 84, 98}; int[] a2 = {32, 11, 56}; int[] a3 = {82, 77, 8}; int[][] doisDArray = {a1, a2, a3}; for (int[] a: twoDArray) { for (int score: a) { System.out.print(score + " "); } System.out.println("") ; } }
Resultado de saída:
38 84 98 32 11 56 82 77 8