package collections.arrayList;
import collections.arrayList.Party;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class PartyProcessor {
private List parties = new ArrayList();
public static void main(String[] args) {
PartyProcessor proc = new PartyProcessor();
proc.addParty(new Party("Thomas", 4));
proc.addParty(new Party("Jason", 3));
proc.addParty(new Party("Tiffany", 5));
proc.addParty(new Party("Terry", 3));
proc.addParty(new Party("Brandy", 2));
proc.showParties();
proc.updateParty(new Party("Jason", 8));
proc.showParties();
proc.showNextPartyOf(3);
proc.showPartyInQueue("Jason");
proc.removeParty("Thomas");
proc.showParties();
}
public void addParty(Party party) {
parties.add(party);
System.out.println("Added: " + party);
}
public boolean updateParty(Party party) {
int index = parties.indexOf(party);
if (index == -1) return false;
parties.set(index, party);
System.out.println("Updated party " + party + ", at index " + (index));
return true;
}
public void removeParty(String name) {
Party party = new Party(name);
int index = parties.indexOf(party);
if (index == -1) System.out.println("party not found.");
System.out.println("\nRemoved party " + parties.remove(index)
+ " at index " + index);
}
public void showNextPartyOf(int partySize) {
ListIterator iter = parties.listIterator();
while (iter.hasNext()) {
Party party = (Party) iter.next();
if (party.getPartySize() == partySize) {
System.out.println("\nNext party of " + partySize + ": " + party);
return;
}
}
}
public void showPartyInQueue(String partyName) {
System.out.println("\nParty: " + partyName + " No. in queue: "
+ (parties.indexOf(new Party(partyName)) + 1));
}
public void showParties() {
ListIterator iter = parties.listIterator();
System.out.println("\nCurrently " + parties.size() + " parties...");
Party p;
while (iter.hasNext()) {
Party party = (Party) iter.next();
System.out.println(party);
}
}
}