package ldbc.snb.datagen.generator.tools; import ldbc.snb.datagen.objects.Knows; import ldbc.snb.datagen.objects.Person; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Set; /** * Created by aprat on 18/06/15. */ public class PersonGraph { private HashMap<Long,HashSet<Long>> adjacencies_; public PersonGraph(ArrayList<Person> persons) { adjacencies_ = new HashMap<Long,HashSet<Long>>(); for( Person p : persons) { HashSet<Long> neighbors = new HashSet<Long>(); for (Knows k: p.knows()) { neighbors.add(k.to().accountId()); } adjacencies_.put(p.accountId(),neighbors); } } public PersonGraph(PersonGraph graph) { adjacencies_ = new HashMap<Long,HashSet<Long>>(); for(Long l : graph.adjacencies_.keySet()) { adjacencies_.put(l, new HashSet<Long>(graph.adjacencies_.get(l))); } } public Set<Long> persons() { return adjacencies_.keySet(); } public Set<Long> neighbors(Long person) { return adjacencies_.get(person); } }