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>());
)。