Tenho uma classe, q extends Thread, q vai trata uma conexão entre um clientes e servidor… nessa classe vou criar uma “Array” de uma classe q vai armazenar algumas informações dessa “conversas”…
agora vem a dúvida… essa “array” (q tem q ser redimensionavel) tem q ser ArrayList ou Vector… pois tem akele problema de sincronizado…
Alguem sabe me dizer ql a collection mais apropriada para isso???
vou ter uma classe… mais expecificamente… esta classe:
class info {
private String servico;
private String IP;
private int Porta;
info (String servico, String IP, int Porta) {
this.servico = servico;
this.IP = IP;
this.Porta = Porta;
}
public String getServico() {
return this.servico;
}
public String getIP() {
return this.IP;
}
public int getPorta() {
return this.Porta;
}
}
o q eu tenho q fazer é mais ou menos um BINDER (Servidor de Nomes)… onde Servidores entrar com as informações desta classe ai em cima…
e clientes vão pedir por informações de ql é o IP do serviço Tal…
blz… o binder eu fiz… e fiz uma classe q é uma Thread q vai conversar com cliente ou com o servidor… e vão ter vários clientes e vários servidores… ai pra mim armazenar as informações utilizo a classe acima… pra isso uma array…
só q agora nem sei como coloco uma instancia desta classe dentro de um elemento do Vector, ArrayList, etc… fiquei meio pedido… alguém pode me dar uma Luz??
public class Info {
private String servico;
private String IP;
private int Porta;
public Info(String servico, String IP, int Porta) {
this.servico = servico;
this.IP = IP;
this.Porta = Porta;
}
public String getServico() {
return this.servico;
}
public String getIP() {
return this.IP;
}
public int getPorta() {
return this.Porta;
}
}
O dois estão no mesmo pacote.
import java.util.Vector;
public class ExemploVector {
public ExemploVector() {
}
public static void main (String[] args) {
//Instâncio o Vector
Vector v = new Vector();
//Crio as instâncias de Info
Info info1 = new Info("Imprimir","127.0.0.1",1);
Info info2 = new Info("Deletar arquivo","192.168.0.1",2);
Info info3 = new Info("Imprimir","192.168.0.3",3);
//Adiciono os elementos Info no Vector.
//Pode perceber que, o elemento info1 esta na posição 0, consequentemento o info2
//esta na posição 1 e assim por diante
v.add(info1);
v.add(info2);
v.add(info3);
//Aqui eu imprimo os IPs dos infos
//Como o get(int) do Vector me retorna um Object é necessário eu fazer um cast
//Eu poderia imprimir o Serviço ou a porta é só mudar o getIP para o que vc
//quiser
System.out.println(((Info)v.get(0)).getIP());
System.out.println(((Info)v.get(1)).getIP());
System.out.println(((Info)v.get(2)).getIP());
}
}