我建議首先創建所有與各年齡組的Map
。
對於您可以在colon
的與Group
啓動權,對線使用Regex
,將左邊取alphanumeric
字符串,digit
。
我懷疑那些行來自您的文件。所以,首先你需要檢查你的線是否以Group
開頭。然後在該行申請以下的正則表達式: -
"([A-Za-z0-9]+):(\\d+)" // Matches `G1:10`, `G2:30`, ...
,然後添加所有匹配的字符串group 1
和group 2
到Map<String, Integer>
現在,開始People
進一步線,應用類似的正則表達式,但在colon
的左側只有alphabetic characters
,然後從已創建的Map
中獲得特定年齡的group
。
"([A-Za-z]+):(\\d+)" // Matches `John:22`
可能是這會讓你開始。
UPDATE:
根據您最新的編輯,我建議建立一個Group
類3個屬性:
class Group {
private String groupName;
private int age;
private List<String> people;
}
,而不是創建一個Map<String, Integer>
;創建一個Map<Integer, Group>
。你的工作會更容易。 Integer
是age
。
因此,當你得到一個Person
與特定age
,取從Map
組對象爲age
,並更新group object
與人的List<String>
。
請試試看看你是否可以解決它。
你到目前爲止嘗試過什麼?如果你完全不知道從哪裏開始,我建議看看javadocs中的String類。 (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html) – posdef
我試過使用arraylist。和line.split(「:」); 但使用這種方法,我不得不像行(0),行(1),行(2)等這是不好的,因爲有什麼100行內輸入? – newbieprogrammer
你能顯示你的代碼嗎? –