2014-10-02 49 views
-3
public class Main { 

    public static void main(String[] args) { 

     LinkedList<User> list=new LinkedList<User>(); 

     list.add(new User(1, "Haidar Ali", "male", true)); 
     list.add(new User(2, "Mehmood Usmani", "male", false)); 
     list.add(new User(3, "Ayesha Abbasi", "female", true));  
     list.add(new User(4,"Nilofur","female",true)); 
    } 
} 

(我怎麼可以編寫打印的男性或女性的性別形式的混合列表上面的代碼的代碼)從此鏈接列表中打印java中的性別?

+2

我們可以看到用戶類嗎? – RyPope 2014-10-02 16:18:30

回答

2
  • 添加一個getter方法爲User適當的訪問gender屬性(如果尚未有)
  • 遍歷您的List
  • 調用getter方法來打印性別
0

如果你要打印的男性則

for (int i = 0; i < list; i++) { 
    if (list.get(i).gender.equals("male") { 
     System.out.println(list.get(i).name); 
    } 
} 

如果性別是私人然後創建公共的setter/getter和不喜歡它user.getGender()

+0

你假設'User'的'gender'屬性是可訪問的,從不'null'。 – Mena 2014-10-02 16:21:17

+0

你在哪裏見過'gender'屬性?如果這項工作無法進行,那麼該做些什麼? – tmarwen 2014-10-02 16:21:34

+1

由於列表實現不支持隨機訪問,因此這是n^2算法。 for-each循環會更好。 – Floegipoky 2014-10-02 16:22:22

0

您的用戶類需要一種方式來獲得的性別。假設你有一個getGender方法。然後,你可以這樣做:

for (User user : list) { 
    String gender = user.getGender(); 
    System.out.println(gender); 
} 
1

如果你在你的User類的getter/setter方法比你可以簡單地調用getter方法獲取屬性值。如果你沒有簡單的把getter/setter放在你的User Class中。

對於迭代名單 -

for (User user : list) { 
    String userGender = user.getGender(); // call the getter method of gender from User class 
    System.out.println(userGender); 
} 

您可以訪問用戶類的其他屬性的方法相同。