Latest web development tutorials

matrizes de Java

Uma matriz para cada linguagem de programação para estruturas de dados são importantes, é claro, diferentes idiomas e do processo de realização da matriz não são os mesmos.

linguagem Java fornece uma matriz é usado para armazenar um elementos de tamanho fixo do mesmo tipo.

Você pode declarar uma matriz de variáveis, tais como os números [100] em vez de declarações diretas 100 variáveis ​​independentes Number0, number1, ...., number99.

Este tutorial vai apresentar declarar Java criação matriz e inicialização, e dá o código correspondente.


Declare uma variável de matriz

Primeiro, você deve declarar uma variável de matriz, você pode usar a matriz em seu programa. Aqui está a sintaxe para declarar uma variável de matriz:

dataType[] arrayRefVar;   // 首选的方法

或

dataType arrayRefVar[];  // 效果相同,但不是首选方法

Nota: Recomendamos a utilização de dataType [] declaração de estilo arrayRefVar declarar uma variável de matriz. dataType arrayRefVar [] estilo derivado de linguagem C / C ++, Java é usado para fazer programadores C / C ++ pode rapidamente compreender a linguagem java.

Exemplos

Aqui está o exemplo de código, tanto sintaxe:

double[] myList;         // 首选的方法

或

double myList[];         //  效果相同,但不是首选方法

Criação de uma matriz

linguagem Java usando o novo operador para criar uma matriz, a sintaxe é a seguinte:

arrayRefVar = new dataType[arraySize];

As instruções de sintaxe acima fazer duas coisas:

  • Primeiro, use o tipo de dados [ArraySize] cria uma matriz.
  • Em segundo lugar, a referência à matriz recém criado é atribuído ao arrayRefVar variável.

Declarar uma variável de matriz, a matriz pode ser usada para criar e concluir uma instrução como se segue:

dataType[] arrayRefVar = new dataType[arraySize];

Além disso, você pode criar uma matriz usando o método a seguir.

dataType[] arrayRefVar = {value0, value1, ..., valuek};

Elementos da matriz é acessado através de um índice. O índice de matriz começa a partir de 0, então o valor do índice de 0 a arrayRefVar.length-1.

Exemplos

Em primeiro lugar, a seguinte declaração declara um myList variável de matriz, em seguida, criada a 10 elemento contém uma matriz do tipo double, e sua referência atribuído à variável myList.

public class TestArray {

   public static void main(String[] args) {
      // 数组大小
      int size = 10;
      // 定义数组
      double[] myList = new double[size];
      myList[0] = 5.6;
      myList[1] = 4.5;
      myList[2] = 3.3;
      myList[3] = 13.2;
      myList[4] = 4.0;
      myList[5] = 34.33;
      myList[6] = 34.0;
      myList[7] = 45.45;
      myList[8] = 99.993;
      myList[9] = 11123;
      // 计算所有元素的总和
      double total = 0;
      for (int i = 0; i < size; i++) {
         total += myList[i];
      }
      System.out.println("总和为: " + total);
   }
}

O exemplo acima saída é:

总和为: 11367.373

A imagem seguinte mostra um myList matriz. Aqui myList tem 10 elemento de matriz dupla, o seu índice 0-9.

java descrição da estrutura matriz


Trabalho com matrizes

Tamanho e tipo dos elementos da matriz da matriz é determinado, de modo que ao processar elementos da matriz, geralmente usamos o loop ou foreach loop básico.

exemplo

Este exemplo mostra como criar uma solução completa, inicializar e manipular matrizes:

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // 打印所有数组元素
      for (int i = 0; i < myList.length; i++) {
         System.out.println(myList[i] + " ");
      }
      // 计算所有元素的总和
      double total = 0;
      for (int i = 0; i < myList.length; i++) {
         total += myList[i];
      }
      System.out.println("Total is " + total);
      // 查找最大元素
      double max = myList[0];
      for (int i = 1; i < myList.length; i++) {
         if (myList[i] > max) max = myList[i];
      }
      System.out.println("Max is " + max);
   }
}

Os exemplos acima são compilados os resultados como se segue:

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

loop foreach

JDK 1.5 introduziu um novo tipo de loop, o chamado loop foreach ou melhorada a circulação, não é usado em circunstâncias através do índice de matriz.

exemplo

Este exemplo é usado para exibir todos os elementos no myList matriz:

public class TestArray {

   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};

      // 打印所有数组元素
      for (double element: myList) {
         System.out.println(element);
      }
   }
}

Os exemplos acima são compilados os resultados como se segue:

1.9
2.9
3.4
3.5

Matriz como uma função dos parâmetros

Arrays pode ser passado como um parâmetro para o método. Por exemplo, o exemplo a seguir é um método de elementos do array int na impressão.

public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) {
    System.out.print(array[i] + " ");
  }
}

O exemplo a seguir chama o método printArray para imprimir o 3,1,2,6,4 e 2:

printArray(new int[]{3, 1, 2, 6, 4, 2});

Matriz como o valor de retorno de uma função

public static int[] reverse(int[] list) {
  int[] result = new int[list.length];

  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

Exemplos do resultado acima em uma matriz como o valor de retorno da função.


classe Arrays

classe java.util.Arrays pode facilmente manipular matrizes, ele fornece todos os métodos são estáticos. Tem as seguintes características:

  • Para a atribuição array: Para preencher método.
  • Classificação de uma matriz: classificar através de método, em ordem crescente.
  • Compare matrizes: A é igual a método é relativamente valores de elementos de matriz são iguais.
  • Encontrar elemento de matriz: Pode classificadas variedade de operação de busca binária por métodos BinarySearch.

instruções específicas consulte a tabela a seguir:

Não. Método e Descrição
1 public static int binarySearch (Object [] um, chave Object)
algoritmo de busca binária usando um objeto em uma determinada pesquisa matriz para um determinado valor (Byte, int, double, etc.). Matriz deve ser resolvido antes de chamar. Se o valor de pesquisa está contida em uma matriz, o índice dos retornos chave de busca, caso contrário, (- (ponto de inserção) - 1).
2 boolean equals public static (long [] a, long [] a2)
Se as duas matrizes especificados de tempo iguais um ao outro, devolve verdadeiro. Se ambas as matrizes contêm o mesmo número de elementos, e dois conjuntos de todos os pares correspondentes de elementos são iguais, as duas matrizes são considerados iguais. Em outras palavras, se as duas matrizes na mesma ordem que contém os mesmos elementos nas duas matrizes são iguais. O mesmo se aplica a todos os outros tipos de dados básicos (Byte, short, int, etc.).
3 public void enchimento estático (int [] a, int val)
int valor Atribui a matriz int especificado da faixa especificada de cada elemento. O mesmo se aplica a todos os outros tipos de dados básicos (Byte, short, int, etc.).
4 pública tipo static void (Object [] a)
A matriz especificada de objetos em ordem crescente de acordo com a ordem natural dos seus elementos. O mesmo se aplica a todos os outros tipos de dados básicos (Byte, short, int, etc.).