Transformar uma matriz de adjacência a partir de uma lista de adjacência

Bom dia Senhores,
Estou desenvolvendo um interface gráfica para representação de grafos. O objetivo é permitir a execução de algoritmos de busca.
Estou tendo o seguinte problema.
Os meus vértices possuem um id sequencial a partir de 0.
Quando criei uma opção para representar remover um vértice qualquer me deparo com o seguinte problema:
Não consigo criar uma representação de matriz de adjacência bem como a de incidência.

	public Object[][] getMatrizAdjacencia(){
		Object adj[][]= new Object[this.getNumeroVertice()+1][this.getNumeroVertice()+1];
		List<Vertice> tmp = new ArrayList<Vertice>();
//inicializa matriz de adjacência
		for (int i = 1; i <= this.getNumeroVertice(); i++) {
			for (int j = 1; j <= this.getNumeroVertice(); j++) {
				adj[i][j]=0;
			}
		}
		int k=0;
//inicializa busca por vértices adjacentes
//nosso problema está aqui!!!
		for (int linha=0;linha<this.getNumeroVertice();linha++) {
			tmp=getListaVertices().get(linha).getVerticesAdjacentes();//retorna um ArrayList><Vertices> dos vertices adjacentes ao id do vértice cuja posição //encontra-se na primeira posição da lista de vértices;
			for(int coluna=0;coluna<tmp.size();coluna++)
			{
				k=tmp.get(coluna).getId();
				adj[linha+1][k+1]=1;
			}
		}
//inicializa cabeçalhos
		for (int i = 0; i >< this.getNumeroVertice(); i++) {
				adj[i+1][0]=this.getListaVertices().get(i).getRotulo();
				adj[0][i+1]=this.getListaVertices().get(i).getRotulo();
		}
		adj[0][0]="  ";
		return adj;
	}


Pensei em criar uma regra de deslocamento do tipo. Se o id do vértice for diferente da coluna deslocar a diferença entre o id do vértice e da coluna.
Contudo, não encontrei nenhum jeito adequado de fazer isso.
Caso alguém possa me orientar ou tiver uma idéia melhor agradeço.
Abraços, Alan


Consegui,
Criei uma função para verificar se o id de um vértice existe. Caso não exista retorna false.
Fiz um for de 0 até o vértice questionado. A cada vértice cujo retorno da função é false decrementei uma coluna.

		for (int linha=0;linha<this.getNumeroVertice();linha++) {
			tmp=getListaVertices().get(linha).getVerticesAdjacentes();
			for(int coluna=0;coluna<tmp.size();coluna++)
			{	
				diferenca=0;
				k=tmp.get(coluna).getId();
				for(int i=0;i<k;i++)
					if(!isIDValido(i))
						diferenca--;
				adj[linha+1][k+diferenca+1]=1;
			}
		}

Com isso deu certo.
Obrigado,
Abraços, Alan>