List - Ta F..... ajuda

ai alguem pode me ajudar ja postei mais acho q nao postei bem,tenho uma classe grafo ta funcionando rendondo uma blz,retorna o valor 6 na funcao sizeLista() e ta certo,mas so rodando nela mesma,qnd vou fzr qualquer outra classe e pegar os valor retornados pela minha classe grafo os valores vem em dobro ou seja 12.

[code]import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.*;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.util.Map;

public class grafo implements Serializable {

private static final long serialVersionUID = 1L;
public static Map<String,Double> p = new HashMap<String,Double>();
public static List<String> lx = new ArrayList<String>();
public static List<String> ly = new ArrayList<String>();
public static List<String> tab = new ArrayList<String>();
public int k;
public boolean liga;
public String combo[];
public grafo()
 {
 	 p.put("A",235.000);
	 p.put("B",321.000);
	 p.put("C",87.000);
	 p.put("D",102.000);
	 p.put("E",46.500);
	 p.put("F",647.000);
	 
	 lx.add("A");
	 lx.add("B");
	 lx.add("C");
	 lx.add("D");
	 lx.add("E");
	 lx.add("F");
	 
	 ly.add("A");
	 ly.add("B");
	 ly.add("C");
	 ly.add("D");
	 ly.add("E");
	 ly.add("F");

  tab.add(ly.get(0) +","+ lx.get(2));
  tab.add(ly.get(1) +","+ lx.get(2));
  tab.add(ly.get(1) +","+ lx.get(5));
  tab.add(ly.get(2) +","+ lx.get(0));
  tab.add(ly.get(2) +","+ lx.get(1));
  tab.add(ly.get(2) +","+ lx.get(3));
  tab.add(ly.get(3) +","+ lx.get(2));
  tab.add(ly.get(3) +","+ lx.get(4));
  tab.add(ly.get(4) +","+ lx.get(3));
  tab.add(ly.get(4) +","+ lx.get(5));
  tab.add(ly.get(5) +","+ lx.get(1));
  tab.add(ly.get(5) +","+ lx.get(4));
 
 }
public List MostraGrafo()
{
	return tab;
}	
public int sizeLista()
{
	return lx.size();
} 	 
public List lista()
{
	return lx;
}	

public boolean Ligacoes(String y,String x)
{
String z = y +","+ x;
k = 0;
for(int i=0;i < tab.size();i++)
{
if(z.equals(tab.get(i)))
k = 1;
}
if(k > 0)
return true;
else
return false;
}

public void AdicionaVertice(String x,Double y,String z)
{
p.put(x,y);
lx.add(x);
ly.add(x);
tab.add(x+","+z);
}
public void RemovoVertice(String x)
{
p.remove(x);
}

public static void main(String args[])
{
grafo g = new grafo();
System.out.println(g.sizeLista());//g.Ligacoes(“A”,“C”));
}

}[/code]

sao varias funcoes q chama esse grafo,eu posso adicionar mais pontos na execucao do me programa,so nao entendi o “*6”.

Bussunda eu entendi o q vc falou,e realmente deu certo mas precisa ser estatico pq qnd eu inserir um ponto eu tenho q associalo a um outro ponto, e qnd voltar na mesma funcao eu posso inserir outro ponto associando com o anterior q eu acabei de inseri.

vc por um acaso nao esta criando mais de um grafo nao?

lx é estatico

o sizeLista() vai retornar numero de grafos*6

pq vc precisa dele estatico?

cada vez que voce cria um grafo vc da 6 adds em lx
o que acontece é o seguinte
sendo lx estatico só existe um lx que todas as instancias de Grafo compartilham
sendo assim se vc criar 3 instancias de Grafo

na primeira o sizeLista vai retornar 6
na segunda vez ao chamar o construtor de Grafo novamente vc adiciona mais 6 elementos em lx e o sizeLista retorna 12
na terceira adicona de novo mais 6 e retorna 18

o lx nao precisa ser estatico pra adicionar mais elementos durante a execução nao