2012-09-20 13 views
-2

我有兩種類型的數據,例如: - 我需要一組帶有女孩和男孩名字的學生,還需要分別檢索女孩和男孩的名字。我可以使用不同類型數據的單個字符串嗎?

我可以用任何描述符在java中執行此操作嗎?

+0

使用HashMap的兩個鍵的男孩和女孩。 –

+0

編程語言無法單獨標識名稱,它是女孩的名字或男孩的名字。你需要一個邏輯來做到這一點 –

+0

顯示你已經嘗試過的一些代碼。 – basiljames

回答

1

你可以這樣做:

Map<String, List<Student>> students = new HashMap<String, List<Student>>(); 
List<Student> boysList = new ArrayList<Student>(); 
... 
List<Student> girlsList = new ArrayList<Student>(); 
... 
students.put("girls", girlsList); 
students.put("boys", boysList); 

由於是,你不能只是隨意扔在名稱的字符串,並期望語言知道哪個是哪個。如果您是在兩個列表的字符串表示之後,您可以使用類似上面的內容,然後使用類似XStream的東西來從給定的數據結構中生成XML。

編輯:

檢索有關男孩的細節,你可以這樣做:

for(Student boy : students.get("boys")) 
{ 
    System.out.println(boy.getName()); 
} 

對於女孩:

for(Student girl: students.get("girls")) 
{ 
    System.out.println(boy.getName()); 
} 
+0

如何檢索這些數據? – user1684892

+0

@ user1684892:什麼數據? – npinti

+0

:女生和男生的名字 – user1684892

1

以下是辦法

  1. 爲學生創建課堂。
  2. 創建學生名單或單獨列出

    class Student { 
    private String name; 
    private Gender gender; 
    
    public Student(String name, Gender gender) { 
    
        this.setName(name); 
        this.setGender(gender); 
    } 
    
    public Gender getGender() { 
        return gender; 
    } 
    
    public void setGender(Gender gender) { 
        this.gender = gender; 
    } 
    
    public String getName() { 
        return name; 
    } 
    
    public void setName(String name) { 
        this.name = name; 
    } 
    
    List<Student> students = new ArrayList<Student>(); 
    
    // Provide method like get student etc. It is not efficient to put both 
    // in one list you can use separate list as well or a Hashmap 
    } 
    public enum Gender { 
        BOY, GIRL 
    } 
    
相關問題