2016-04-12 14 views
-1

テキストファイルの内容を読み込み、その内容をメンバーシップ(作成したオブジェクト)のArrayListに追加するmainメソッドがあります。各メンバシップオブジェクトには、元の状態があります。それぞれの州のメンバー数を数えて比較する方法が必要です。何か案は?メンバー数が多い国名を見つける方法

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

あなたのコードはどこですか? – Sanjeev

+1

まず、「メンバーシップ」のコードと試した内容を投稿します。 – Guy

+0

より良い理解のために試行したコードを教えてください –

答えて

0

任意のアイデア?

ヒント:HashMap<String, Integer>を使用して、各状態の人数を累積することができます。あなたは、ストリーム操作で簡単にそれを行うことができます

1

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

これはallMembershipsCollection<Membership>で与えられ、Map<State, Count>を返します。

試すことができますhere

関連する問題