QQ好友分組:一個好友組里有多個好友,一個好友只能選擇一個組,這樣好友組和好友之間就是一個一對多的關系。在此程序中封裝一個好友類即Buddy類,一個組類即Group類。在Buddy類有有關好友的最基本的信息姓名和年齡;在Group類有組的名稱,還有一個盛放好友的List集合,在這個類里還有一個添加好友的方法addBuddy。新建一個測試類,在測試類新建兩個組:同事、朋友,新建四個好友,將這個四個好友分別添加到這兩個組中。
程序代碼如下:
//好友類
package com.dr.qq;
public class Buddy {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Buddy(String name,int age)
{
this.setName(name);
this.setAge(age);
}
public String toString()
{
return "姓名:"+this.name+" "+"年齡:"+" "+this.age;
}
}
//好友組類
package com.dr.qq;
import java.util.ArrayList;
import java.util.List;
public class Group {
private String name;
private List<Buddy> buddyList;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Buddy> getBuddyList() {
return buddyList;
}
public void setBuddyList(List<Buddy> buddyList) {
this.buddyList = buddyList;
}
public Group(String name)
{
this.setName(name);
this.setBuddyList(new ArrayList<Buddy>());
}
public void addBuddy(Buddy buddy)
{
buddyList.add(buddy);
}
public String toString()
{
return this.getName();
}
}
//測試類
package com.dr.qq;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Test {
public static void main(String args[])
{
List<Group> gList=new ArrayList<Group>();
Group group1=new Group("同事");
Group group2=new Group("朋友");
//將同事、朋友兩個組添加到gList集合里
gList.add(group1);
gList.add(group2);
Buddy buddy1=new Buddy("張三",20);
Buddy buddy2=new Buddy("李四",21);
Buddy buddy3=new Buddy("王五",50);
Buddy buddy4=new Buddy("李明",60);
//在同事組里添加張三、李四
group1.addBuddy(buddy1);
group1.addBuddy(buddy2);
//在朋友組里添加王五、李明
group2.addBuddy(buddy3);
group2.addBuddy(buddy4);
Iterator<Group> iter1=gList.iterator();
while(iter1.hasNext())
{
System.out.println(iter1.next());
Iterator<Buddy> iter2=group1.getBuddyList().iterator();
while(iter2.hasNext())
{
System.out.println("\t"+iter2.next());
}
}
}
}
程序輸出結果如下圖所示:
這個程序需要注意的有兩點:1.搞清楚組和好友的關系即一對多的關系。2.新建組的時候一定要初始化組里的List集合(代碼:
this.setBuddyList(new ArrayList<Buddy>());
)。