public class Hoge{
public static void main(String[] args) {
PersonGroup pg=new PersonGroup();
pg.Add(new Person("A",Person.State.STANDBY,"[email protected]","000"));
for(String s: pg.getContact("A")){ System.out.println(s); }
} }
class PersonGroup{
private HashMap<String, Person> lst=new HashMap<String, Person>();
public void Add(Person sp){lst.put(sp.getName(),sp);}
public void Remove(String Name){lst.remove(Name);}
public ArrayList<String> getContact(String Name){return lst.get(Name).getSuitableContact();}
}
class Person{
public enum State{IDLE,MEETING,STANDBY,ACTIVE};
private String name,mailAddress,tel;
private State state;
public Person(String Name, State initState, String MailAddress, String Tel){name=Name;state=initState;mailAddress=MailAddress;tel=Tel;}
public String getName(){return name;}
public ArrayList<String> getSuitableContact(){
ArrayList<String> ret=new ArrayList<String>();
switch(state){
case IDLE: ret.add(mailAddress); break;
case MEETING: ret.add(tel); break;
case STANDBY: ret.add(mailAddress); ret.add(tel); break;
case ACTIVE: ret.add(mailAddress); break;
}
return ret;
} }