课时135:获取集合个数
摘要:在链表中,通常需要保存大量数据,并对其进行个数统计操作。因此,我们需要在 LinkImpl 类中添加数据统计功能,并在增加或删除数据时动态更新数据个数。
(1)在 ILink 接口中添加获取数据个数的方法:
interface ILink<E> { //设置范型避免安全隐患 public void add(E e); //增加数据的个数 public int size(); //获取数据的个数 }
(2)在 LinkImpl 子类中添加一个用于个数统计的属性--count
private int count;//保存数据个数。
(3)在 add() 方法中进行数据个数的追加。
//以下为 Link 类中定义的成员 private Node root ; //保存根元素 private int count ; // 保存数据个数 // 以下为 Link 类中定义的方法- public void add (E e){ if(e==null){ //保存的数据为null return; // 方法调用直接结束 } //数据本身是不具有关联特性的, 只有 Node 类有 Node newNode=new Node(e); // 创建一个新的节点 if(this.root==null){ //现在没有根节点 { this.root=newNode;// 第一个节点作为根节点 }else{//根节点存在 this.root.addNode(newNode);// 将新节点保存在合适的位置 } this.count+ +; } }
(4) 在 LinkImpl 子类中实现 size() 方法以返回数据个数。
public int size() { return this.count; }
(5)测试代码
public class LinkDemo { public static void main(String[] args) { ILink<String> all = new LinkImpl<String>(); System.out.println("【增加之前】数据个数:" + all.size()); all.add("Hello"); all.add("World"); all.add("MLDN"); System.out.println("【增加之后】数据个数:" + all.size()); } }
运行结果如下图:
通过以上步骤,我们成功实现了获取链表数据个数的功能。虽然该功能是一个辅助功能,但它为链表的数据管理提供了重要支持,并在许多场景中非常实用。