Problema 22

import java.util.HashSet;

import java.util.Iterator;

import java.util.Set;

class Persoana{

private String nume, CNP;

public Persoana(String nume, String CNP){

this.nume=nume;

this.CNP=CNP;

}

public String getCNP() {

return CNP;

}

public boolean equals(Object o) {

if(o instanceof Persoana)

if(((Persoana)o).getCNP().equals(this.CNP))

return true;

return false;

}

public String toString(){

return this.nume+" "+this.CNP;

}

}

class GrupPersoane{

private Set<Persoana>grup=new HashSet<>();

public void add(Persoana p){

grup.add(p);

}

public Set<Persoana> persoaneComune(GrupPersoane multime){

Iterator<Persoana>it=grup.iterator();

Iterator<Persoana>it2=multime.grup.iterator();

Set<Persoana> tmp=new HashSet<>();

while(it.hasNext()){

Persoana aux=it.next();

while(it2.hasNext()){

Persoana aux2=it2.next();

if(aux.equals(aux2))

tmp.add(aux);

}

}

return tmp;

}

}

public class Main {

public static void main(String[] args) {

Persoana p1=new Persoana("A","CNP1");

Persoana p2=new Persoana("B","CNP1");

Persoana p3=new Persoana("C","CNP3");

GrupPersoane grup=new GrupPersoane();

grup.add(p1);

grup.add(p3);

GrupPersoane grup2=new GrupPersoane();

grup2.add(p2);

System.out.println(grup.persoaneComune(grup2));

}

}