📄 userinfolist.java
字号:
package com.gamvan.club.users.im.server;public class UserInfoList { /** * 用户信息链表类要实现对用户信息的添加删除和查询的功能 */ private SingleUserMegData root,rootID;//用户信息链表的根 private SingleUserMegData pointer; private int userCount;//链表中元素的个数 public UserInfoList(){ root = new SingleUserMegData(); rootID = new SingleUserMegData(); root.next = null; rootID.nextID = null; pointer = null; userCount = 0;//初始元素个数为零 }/* * add();用于完成用户信息节点的添加功能 * */ public void add(SingleUserMegData addUserName){ pointer = root;//将游标指向根节点 while(pointer.next != null){//判断是否已经到达链表尾 pointer = pointer.next; } pointer.next = addUserName;//加入节点 addUserName.next = null; userCount++;//计算用户个数的计数器加1 } /* * delete()方法,用来删除离开的用户 * */ public void delete(SingleUserMegData delUser){ pointer = root;//将游标指向根节点 while(pointer.next != null){//判断是否是链表尾部 if(pointer.next == delUser){//判断当前的节点是否是要删除的节点 pointer.next = delUser.next;//删除节点 userCount--;//计数器减一 break; } pointer = pointer.next;//将游标指向下一节点 } } //返回链表中元素的个数 public int getUserCount(){ return userCount; } //find()方法,完成在用户信息链表中查找的功能,这个是按名字查找 public SingleUserMegData find(String userName){ if(userCount == 0) return null;//如果元素链表为0,则直接返回 pointer = root;//游标指向根节点 while(pointer.next!= null){ pointer = pointer.next;//游标下移 if(pointer.userName.equalsIgnoreCase(userName)){ return pointer; } } return null; } public SingleUserMegData find(int index){ if(userCount == 0) return null;//如果元素链表为0,则直接返回 if(index < 0) return null; pointer = root; int testEnd = 0; while(testEnd < index+1){//判断是否到达所要找的节点 if(pointer.next != null){ pointer = pointer.next;//将游标后移 }else{ return pointer; } testEnd++; } return pointer;//返回找到元素的节点 } public SingleUserMegData findID(int index){ if(userCount == 0) return null;//如果元素链表为0,则直接返回 if(index < 0) return null; pointer = root; int testEnd = 0; while(testEnd < index+1){//判断是否到达所要找的节点 if(testEnd != index){ pointer = pointer.next;//将游标后移 }else{ return pointer; } testEnd++; } return null;//未找到元素返回null }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -