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());
            }
        }
    }
}
程序输出结果如下图所示:
qq
这个程序需要注意的有两点:1.搞清楚组和好友的关系即一对多的关系。2.新建组的时候一定要初始化组里的List集合(代码:
this.setBuddyList(new ArrayList<Buddy>());
)。

0

收藏

冯魁

52篇文章,26W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

f92360e227f9d91cdff7ea95120630ef.png
left-qr.jpg

扫一扫,领取大礼包

0

1
分享
qr-url?url=https%3A%2F%2Fblog.51cto.com%2Ftscfengkui%2F411842
冯魁
noavatar_middle.gif