2016-04-12 3 views
-1

Ich habe eine Hauptmethode, die den Inhalt einer Textdatei liest und fügt diese Inhalte zu einer ArrayList der Mitgliedschaft (ein Objekt, das ich erstellt). Jedes Mitgliedschaftsobjekt hat einen Ursprungszustand. Ich brauche eine Möglichkeit, die Anzahl der Mitglieder jedes einzelnen Staates zu zählen und sie zu vergleichen. Irgendwelche Ideen?Methode, um den Namen des Staates mit mehr Mitgliedern zu finden

public class Membership { 

    @Override 
    public String toString() { 
     return "Membership Information ID=" + ID + ", Name=" + name + ", Phone=" + phone + ", State=" + state + ", Email=" + email 
       + ", Company=" + company; 
    } 
    private String ID; 
    private String name; 
    private String phone; 
    private String state; 
    private String email; 
    private String company; 
    private String DOB; 
    private String MemDate; 
    private String age; 


    public Membership(String iD, String name, String phone, String state,String company, String DOB,String MemDate, String email) { 
     super(); 
     ID = iD; 
     this.DOB = DOB; 
     this.MemDate = MemDate; 
     this.name = name; 
     this.phone = phone; 
     this.state = state; 
     this.email = email; 
     this.company = company; 
    } 
    public String getDOB() { 
     return DOB; 
    } 

    public int getAge(){ 
     String shortDate = DOB.substring(DOB.length() - 4); 
     int b = Integer.parseInt(shortDate); 
     return 2016 - b; 
    } 
    public void setDOB(String dOB) { 
     DOB = dOB; 
    } 
    public String getMemDate() { 
     return MemDate; 
    } 
    public void setMemDate(String memDate) { 
     MemDate = memDate; 
    } 
    public String getID() { 
     return ID; 
    } 
    public void setID(String iD) { 
     ID = iD; 
    } 
    public String getName() { 
     return name; 
    } 
    public void setName(String name) { 
     this.name = name; 
    } 
    public String getPhone() { 
     return phone; 
    } 
    public void setPhone(String phone) { 
     this.phone = phone; 
    } 
    public String getState() { 
     return state; 
    } 
    public void setState(String state) { 
     this.state = state; 
    } 
    public String getEmail() { 
     return email; 
    } 
    public void setEmail(String email) { 
     this.email = email; 
    } 
    public String getCompany() { 
     return company; 
    } 
    public void setCompany(String company) { 
     this.company = company; 
    } 


} 
+1

Und wo ist Ihr Code? – Sanjeev

+1

Beginnen Sie mit dem Posten des Codes für 'Mitgliedschaft' und was Sie versucht haben. – Guy

+0

Bitte teilen Sie uns den Code, den Sie für ein besseres Verständnis versucht haben –

Antwort

0

Irgendwelche Ideen?

Hinweis: Sie können eine HashMap<String, Integer> verwenden, um die Anzahl der Personen in jedem Staat zu sammeln.

1

Sie können es leicht mit Stream-Operationen:

allMemberships.stream().collect(Collectors.groupingBy(Membership::getState, Collectors.counting())) 

Dies wird wieder ein Map<State, Count>, gegeben allMemberships ist ein Collection<Membership>.

Sie können es versuchen here.

Verwandte Themen