Duvida em List

3 respostas
dicabeca

pq sempre q eu faco uma funcao retornando uma List inteira, passa os valores duplicados, ou seja c eu tenho 5 dados na List, na hora q eu for pegar essa funcao em outra classe vai aparecer 10 dados

3 Respostas

marcosbrandao

posta o codigo pra gente olhar…

dicabeca
se vc fizer outra classe e pegar a funcao sizeLista() vai t retornar 12 em vez de 6.
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"));
   }
  
}
marcosbrandao

dicabeca

Não entendi sua duvida, testei aqui sua classe e parece estar funcionando normalmente.

Criado 29 de maio de 2007
Ultima resposta 30 de mai. de 2007
Respostas 3
Participantes 2