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

©著作权归作者所有:来自51CTO博客作者冯魁的原创作品,如需转载,请注明出处,否则将追究法律责任
程序 分组 模拟 java基础

0

分享

微博 QQ 微信

收藏

上一篇:学生选课模拟程序 下一篇:java常用集合类
冯魁

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

关注

Ctrl+Enter 发布

发布

取消

1条评论

按时间倒序 按时间正序

推荐专栏更多

微服务技术架构和大数据治理实战

大数据时代的微服务之路

共18章 | 纯洁微笑

¥51.00 669人订阅

订   阅

基于Python的DevOps实战

自动化运维开发新概念

共20章 | 抚琴煮酒

¥51.00 430人订阅

订   阅

猜你喜欢

我的友情链接 jquery之empty()与remove()区别 Java线程:线程的调度-休眠 用光影魔术手制作一寸照片(8张一寸) Linux关闭休眠和屏保模式 Windows7删除休眠文件hiberfil.sys节省大量C盘空间 康熙对容妃的最后的心里话 《一位IT退休老兵的感言、工作、生活、前途、选择》 加入域时遇到“找不到网络路径”错误解决办法汇总 史上最全:怎样买到最便宜的机票 超级实用篇 易都市三维城市地图网址 新东方王强经典语录 大话微服务」深入聊聊SpringCloud之客户端负载均衡机制 Spring Boot 中 10 行代码构建 RESTful 风格应用 Java核心库实现AOP过程 RabbitMQ如何保证队列里的消息99.99%被消费? 几种简单的负载均衡算法及其Java代码实现 RabbitMQ如何保证消息99.99%被发送成功? IT兄弟连 JavaWeb教程 经典案例 在阿里架构师眼中构建一个较为通用的业务技术架构就是如此简单

扫一扫,领取大礼包

0

1

分享

关注

冯魁

转载于:https://blog.51cto.com/tscfengkui/411842

QQ好友分组模拟小程序相关推荐

  1. Android之实现QQ好友分组(ExpandableListView)

    在项目开发中,也许我们遇到过ListView中嵌套ListView,但谷歌建议我们最好别这样做,因此他们写好了一个ExpandableListView类,他继承ListView,可以实现ListVie ...

  2. IOS 实现QQ好友分组展开关闭功能

    贴出核心代码  主要讲一下思路. - (void)nameBtnClick:(myButton *)sender { //获取当前点击的分组对应的section self.clickIndex = s ...

  3. Qt可拖拽排序表格(类似QQ好友分组排序)

    1,简介 为了最佳体验,一个拖拽行排序的功能研究了几个小时.效果参考的QQ好友分组的排序. 网上查了下好像没有人发布QT版类似的代码,于是自己动手 QQ好友分组排序效果: 2,效果 这是最终效果图,有 ...

  4. expandableListview的使用,模仿qq好友分组点击收缩扩展

    我主要讲述的是用listview实现.模仿qq好友分组点击收缩.扩展功能 这个是对listview的拓展,用法比较相似,还是需要一个适配器 MainActivitypublic class MainA ...

  5. js实现qq好友分组

    qq好友分组 <style>ul,h2 {padding: 0;margin: 0;background-color: wheat;}li {list-style: none;}#list ...

  6. 模仿QQ好友分组风格

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"/> <title> ...

  7. UITableView的折叠收缩和QQ好友分组效果

    可折叠展开的tableView,QQ好友分组列表 demo下载地址https://github.com/zhengwenming/ExpandTableView   原理分析:这个可以折叠的table ...

  8. Qt可拖拽排序表格(解决滚动条不兼容问题,类似QQ好友分组排序)

    原版链接 https://blog.csdn.net/dpsying/article/details/77206127 Qt可拖拽排序表格(类似QQ好友分组排序) 感谢博主无私分享 修改后,解决了滚动 ...

  9. java 做的原神抽卡模拟小程序

    java做的原神抽卡模拟小程序 难度不大,适合学完面向对象后做着玩. import java.util.ArrayList; import java.util.Calendar; import jav ...

最新文章

  1. hdf heg 批量拼接_[转载]MODIS Aerosol product/MODIS气溶胶产品
  2. 磁盘硬件结构及容量计算
  3. bootstrap项目更改为vue_取代Jquery,用Vue 构建Bootstrap 4 应用
  4. 互联网1分钟 |1225
  5. 字典统计排序python123_按值对字典进行排序Python(3级Dict)
  6. Angular platform-server.js 里动态创建 JavaScript 标签页的场景
  7. powerdesigner15(pd)+Oracle 11g 开发小问题
  8. python数字排序 循环_【python-leetcode448-循环排序】找到所有数组中消失的数字
  9. 类和对象编程(九):类的静态成员
  10. 微信端打开页面,布局乱了
  11. memset初始化数组的问题
  12. 2018年10微型计算机接口技术,微机原理及接口技术
  13. matlab画进化树分析图,系统发育(进化)树绘制小结
  14. 单片机音频谱曲软件_单片机谱曲软件讲解
  15. 美国的知名的人工智能研究机构或者实验室
  16. 计算混响时间的意义_大盘点:混响时间常用的几种计算公式
  17. xmr-stak compile
  18. 双耳节拍 枕头_枕头2.2.1发布
  19. 揭作家身体健康堪忧内幕 玩命写作自觉还是自虐
  20. Java Seckill Project

热门文章

  1. 中国计算机学会2022年度CCF会士名单公布 阿里云李飞飞等9位当选
  2. 中台之上(三):战略和组织结构,业务架构设计中不应被忽视的关键因素
  3. HDU 2340 Obfuscation(dp)
  4. python excel画图_matplotlib 画图直接写入excel
  5. 微信内置浏览器屏蔽网页链接怎么办,微信跳转外部浏览器的实现教程
  6. 论大学生能参加的比赛,看这一篇文章就够了
  7. office2016实用论文排版技巧
  8. opencv+对图片实现聚光灯效果
  9. 电大计算机科学与技术专业论文,国家开放大学计算机科学与技术专业毕业设计(论文)要求...
  10. PS网页设计教程XI——在PS中创建柔和的绿色环保的网页布局