Pessoal!
Preciso de uma ajuda de vocês, o problema que me foi passado é o seguinte:
Preciso fazer um “put” de várias pessoas em keys diferentes, exemplo:
Pessoa1, Pessoa2, Pessoa3 e Pessoa4.
cx1, cx2 e cx3.
cx1(Pessoa1)
cx2(Pessoa2)
cx3(Pessoa3)
cx1(Pessoa4)
O problema que ele imprime só último inserido naquela key.
Ai vai o código:
package br.ulbra.lpoo.filabanco;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class FilaBanco {
int i;
int j;
HashMap<String, Pessoas> p = new HashMap<String, Pessoas>();
public FilaBanco(){
p.put("cx1" , new Pessoas("João",1));
p.put("cx2" , new Pessoas("Maria",1));
p.put("cx1" , new Pessoas("Paulo",2));
p.put("cx3" , new Pessoas("Luis",1));
}
public void buscaFilasBanco(){
/*Iterator<Pessoas> it = p.values().iterator();
Iterator<String> it2 = p.keySet().iterator();
Collection<Pessoas> p1 = new ArrayList<Pessoas>();
Collection<String> p3 = new ArrayList<String>();
while(it2.hasNext()){
p3.add(it2.next());
for (Iterator i = p3.iterator(); i.hasNext();) {
Pessoas p2 = (Pessoas)i.next();
System.out.println(p2);
}
}
*/
Iterator itc = p.entrySet().iterator();
while(itc.hasNext()){
Map.Entry<String, Pessoas> conjunto = (Map.Entry<String, Pessoas>)itc.next();
String key = conjunto.getKey();
Pessoas p2 = conjunto.getValue();
System.out.println("CAIXA = " + key );
System.out.println(p2);
}
}
}
e imprime esse resultado:
CAIXA = cx1
PESSOA = Paulo POSIÇÃO = 2
CAIXA = cx2
PESSOA = Maria POSIÇÃO = 1
CAIXA = cx3
PESSOA = Luis POSIÇÃO = 1