// ----------------------------------------------------------- // Estruturas de Dados 2018/2019 (CC1007) - DCC/FCUP // http://www.dcc.fc.up.pt/~pribeiro/aulas/edados1819/ // ----------------------------------------------------------- // Exemplo de utilização de Arrays // Última alteração: 04/02/2019 // ----------------------------------------------------------- import java.util.Arrays; // Funções Utilitárias de Arrays public class TestArrays { public static void main(String[] args) { // Criação e erro de sair fora dos limites int[] v = new int[4]; v[0] = 2; //v[4] = 5; // ArrayIndexOutOfBoundsException // Inicialização e impressão int[] primes = {2,3,5,7,11,13}; // Cria e inicializa array System.out.println(primes); // Apenas imprime a referência System.out.println(Arrays.toString(primes)); // Converte para String // Comparação int[] a = {1,2,3,4,5}; int[] b = {1,2,3,4,5}; if( Arrays.equals(a,b) ) System.out.println("same contents"); // Soma de dois arrays int[] c = addArrays(a,b); System.out.println(Arrays.toString(c)); } // Método para somar dois arrays public static int[] addArrays (int[] u, int[] v) { int[] res = new int[u.length]; for ( int i = 0 ; i < u.length ; i++ ) res[i] = u[i] + v[i]; return res; } }
// ----------------------------------------------------------- // Multiplicação de matriz por array // Última alteração: 04/02/2019 // ----------------------------------------------------------- import java.util.Arrays; class TestMatrixVectorProduct { public static void main(String[] args) { int[][] a = {{1,2,3},{4,5,6}}; int[] u = {7,8,9}; int[] v = matrixVectorMult(a,u); System.out.println(Arrays.toString(v)); } static int[] matrixVectorMult(int[][] a, int[] u) { int[] v = new int[a.length]; for( int i = 0 ; i < v.length ; i++ ) { v[i] = 0; for( int j = 0 ; j < u.length ; j++ ) v[i] += a[i][j] * u[j]; } return v; } }