Criar Matrizes Com List

sei como criar matrizes com tipos primitivos mas me surgiu a curiosidade de criar matrizes com classes mais eficientes para criar arrays assim teria recursos a mais…

sei criar como:

int[][] matrizInteira; String[][] matrizString; boolean[][] matrizBoolean; char[][] maatrizChar; //etc..

Queria saber se é possível fazer o mesmo com Classes pré-moldadas

podes criar vetores com qualquer tipo de classe definida no sistema.

XPTO[] xpto = new XPTO[2]

Troque XPTO por qualquer classe que esteja acessível ao pacote e funcionará.

Existe alguma classe Específica para criar matrizes?

Não quero criar simples vetores… quero criar matrizes(vetores de vetores) e de tipos de Dados como:

ArrayList array = new ArrayList();

Coleções: http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/collections/index.html

Se vc quer trabalhar com matrizes multidimensionais, sugiro repensar sua abordagem de orientação a objetos.

[quote=Z]Coleções: http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/collections/index.html

Se vc quer trabalhar com matrizes multidimensionais, sugiro repensar sua abordagem de orientação a objetos.[/quote]

Existe alguma biblioteca que trabalhe com Matrizes? (mesmo que 2D)

package teste;


import java.util.ArrayList;
import java.util.List;

public class Teste {

    public static void main(String[] args) {
        List<List<String>> lista = new ArrayList<List<String>>();
        List<String> linha1 = new ArrayList<String>();
        linha1.add("a00");
        linha1.add("b01");
        List<String> linha2 = new ArrayList<String>();
        linha2.add("a10");
        linha2.add("b11");
        lista.add(linha1);
        lista.add(linha2);

        for(int i = 0; i < lista.size(); i++){
            for(int j = 0; j < lista.get(i).size(); j++){
                System.out.print(lista.get(i).get(j)+" ");
            }
            System.out.println("");
        }
    }

}

Executa e ve se isso ajuda!

Qual o problema que você quer resolver? Talvez você esteja querendo resolver com matriz o que deveria ser resolvido com outra coisa.

é um problema do SPOJ chamado Rede Ótica, até resolvi consegui resolver, mas tem alguma coisa dando errado com grandes números e acredito ser com os arrays.

O problema é outro, não é culpa dos arrays. E já lhe adianto que nunca consegui fazer um problema passar no tempo com Collections do java no SPOJ. Teve um em que a solução exigia map que fui obrigado a fazer em C++.

Seu array é de int? Se for, tente mudar para long, talvez resolva o problema.