`
g21121
  • 浏览: 695464 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java的树形通讯录

 
阅读更多

最近用到企业通讯录,虽然以前也开发过,但是用的是jsf,拼成的树形,及其笨重和难维护。后来就想到直接生成json格式字符串,页面上也好展现。

	// 首先取出每个部门的联系人
			for (int i = 0; i < depList.size(); i++) {
				List<Contacts> list = getContactList(depList.get(i), contactList);
				if (!CollectionUtils.isEmpty(list))
					depList.get(i).setContactList(list);
			}
			//做一次嵌套循环,取出部门的所有子部门
			for (int j = 0; j < depList.size(); j++) {
				for (int i = 0; i < depList.size(); i++) {
					List<Department> list = getSubDepartment(depList.get(i).getDepartmentId(), depList);
					if (!CollectionUtils.isEmpty(list))
						depList.get(i).setDepartmentList(list);
				}
			}
			List<Department> list = new ArrayList<Department>();
			// 这里去除非顶级部门
			for (int i = 0; i < depList.size(); i++) {
				Department d = depList.get(i);
				if (depList.get(i).getParentDepartment() == null || depList.get(i).getParentDepartment().intValue() == 0) {
					list.add(d);
				}
			}
			return list;

 

部门实体:

	private Integer departmentId;//部门id
	private Integer type;//类型
	private String name;//名称
	private Integer parentDepartment;//上级部门
	private Integer companyId;//企业代码
	private List<Department> depList;//子部门列表
	private List<Contacts> contactList;//联系人列表

 

联系人实体:

	private Integer contactsId;//联系人代码
	private Integer companyId;//企业代码
	private String name;//联系人名称
	private String email;//邮件
	private String description;//备注
	private String mobile;//邮件
	private String telephone;//电话
	private Integer departmentId;//所属部门代码

 json生成:

		Gson gson=new Gson();
		return gson.toJson(obj);

 

分享到:
评论

相关推荐

    java简易通讯录

    通过树形列表和树状图的界面展示,用户能够直观地查看和操作联系人信息。 首先,我们要了解Java编程语言。Java是一种跨平台的面向对象的编程语言,它的“一次编写,到处运行”特性使得开发的程序能在不同操作系统上...

    java简易手机通讯录.rar

    2. **DOM解析器**:DOM解析器会将整个XML文件加载到内存中形成一个树形结构,允许开发者通过节点遍历来访问和修改数据。虽然DOM占用内存较大,但其提供了对XML文档的全局视图,适用于小型XML文件或对速度要求不高的...

    java编写的通讯录

    这些库提供了丰富的组件,如按钮、文本框、树形视图等,用于创建多级树状图展示联系人结构。 4. **多级树状图**:在Swing或JavaFX中,JTree或TreeView组件用于实现多级树状图,这可能用于按类别或字母顺序组织联系...

    java版简单桌面通讯录

    分组管理则可能涉及树形结构(如JTree)来组织联系人,方便用户按类别查看。 此外,考虑到软件的可维护性和扩展性,良好的代码组织和模块化设计是关键。Java提倡使用设计模式,如工厂模式用于创建对象,单例模式...

    java树形结构加文件输入输出流实现的日记本和通讯录

    是带有界面的日记本,利用属性结构和文件的输入输出流实现的,对于刚学习java的同志们有很大帮助的哦,而且比较实用的,绝对路径保存,在工程文件夹下就可以找到你保存的文件,QQ:389020106,喜欢的朋友加QQ哦

    java课程设计(通讯录管理软件源代码)

    比如,每个联系人可以被视为一个对象,包含了姓名、电话、邮箱等属性,而分组则可以通过类的嵌套或者树形结构来实现。 接下来,我们来看看“名片的增删改查”这一关键功能。在Java中,这通常通过集合框架如...

    通讯录java.pdf

    Java Swing 是 Java 的一个图形用户界面(GUI)组件库,提供了大量的 GUI 组件,例如按钮、标签、文本框、表格、树形控件等。Java Swing 的主要特点是轻量级、高效、跨平台、可扩展性强。 JDialog 类 JDialog 是 ...

    java微信企业号开发之通讯录

    在给出的代码中,`addressListService.getTree()`方法用于获取公司的部门树形结构数据,这些数据通常存储在后台数据库中,以JSON格式返回给前端。`JSONArray.fromObject(jsList)`将部门列表转换为JSON数组,便于前端...

    一个简单的员工通讯录程序

    此外,如果需要对员工信息进行排序或搜索,还可以利用集合或树形数据结构,如二叉搜索树。 接着,我们要设计用户界面,这是用户与程序交互的窗口。用户界面应简洁易用,通常包括输入框用于检索或编辑信息,以及显示...

    (java)DOM解析XML文件并实现通讯录

    在Java编程语言中,DOM(Document Object Model)是一种解析XML文档的标准方法,它将XML文件转化为一个树形结构,使得开发者可以方便地访问和操作XML文档的每一个元素。本项目"DOM解析XML文件并实现通讯录"就是利用...

    通讯录管理系统java程序

    【标题】:“通讯录管理系统java程序” 这个标题表明我们讨论的是一个使用Java编程语言开发的通讯录管理系统。在计算机科学中,通讯录管理系统是一种应用程序,它允许用户存储、组织、检索和管理联系人的个人信息,...

    仿钉钉组织架构通讯录功能

    1. **设计数据结构**:构建表示组织架构的数据模型,可能是一个树形结构,包含部门节点和员工节点,每个节点包含必要的信息如名称、下属节点等。 2. **创建Fragment**:为每个部门创建对应的fragment,其中包含展示...

    vuejs使用递归组件实现树形目录的方法

    上篇文章我提到了通讯录的开发,里面的目录使用了vue的递归组件实现的树形目录,这篇文章就来讲讲如何实现树形目录吧! 首先实现效果如下,觉得菜单还是比较nice的是吧: 这边数据调用的是数据库的数据的,需要...

    java 解析xml 多级

    DOM解析器会将整个XML文件加载到内存中,形成一个树形结构,适合处理小到中等规模的XML文档。而SAX解析器采用事件驱动的方式,逐行读取XML文件,适合处理大型XML文件以避免内存消耗。 对于多级XML,DOM解析更便于...

    java源码包---java 源码 大量 实例

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    手机通讯录系统

    在C语言环境下,这可能涉及到链表、树形结构或者哈希表等数据结构,用于高效地存储和查找联系人信息。这些信息包括姓名、电话号码、电子邮件地址、家庭住址、生日等。 1. **数据结构设计**: - 链表:适用于动态...

    通讯录集合框架

    在设计上,可以使用树形结构或者图结构来表示联系人与分组的关系,使得查询和操作分组变得直观且高效。 此外,考虑到跨平台的需求,通讯录集合框架可能还需要支持云同步和备份功能。这意味着当用户在不同设备上登录...

    通讯录实现二

    对于数据结构的设计,可以采用树形结构来组织联系人,每个节点代表一个分组,节点下的子节点为该分组的联系人。这样可以方便地进行分组操作,同时优化查询效率。例如,可以使用HashMap存储分组,键为分组名,值为...

    xml的基本操作实例(通讯录)

    解析器读取XML文档并创建一个树形结构,使得我们可以遍历和访问各个元素。 6. **XML DOM(Document Object Model)**: DOM是一种标准接口,允许程序和脚本动态更新、添加和删除XML文档的任意部分。在通讯录应用中...

    java源码包3

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

Global site tag (gtag.js) - Google Analytics