课时135:获取集合个数

简介: 在链表中,通常需要保存大量数据,并对其进行个数统计操作。因此,我们需要在 LinkImpl 类中添加数据统计功能,并在增加或删除数据时动态更新数据个数。

课时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());
    }
}

 

运行结果如下图:

image.png

 

通过以上步骤,我们成功实现了获取链表数据个数的功能。虽然该功能是一个辅助功能,但它为链表的数据管理提供了重要支持,并在许多场景中非常实用。

相关文章
|
SQL 存储 前端开发
SQL注入从入门到进阶(一)---&gt;入门篇
看完本章节内容:1. 知道什么是Sql注入 2. 实现最基础的Sql注入
2284 0
|
7月前
|
Java 测试技术 Android开发
课时148:junit测试工具
课时148介绍了JUnit测试工具的使用,包括定义、配置和编写测试程序。JUnit是流行的用例测试工具,用于确保代码稳定性。
113 0
|
9月前
|
编解码 Cloud Native 算法
通义万相:视觉生成大模型再进化
通义万相是阿里云推出的视觉生成大模型,涵盖图像和视频生成。其2.0版本在文生图和文生视频方面进行了重大升级,采用Diffusion Transformer架构,提升了模型的灵活性和可控性。通过高质量美学标准和多语言支持,大幅增强了画面表现力。此外,视频生成方面引入高压缩比VAE、1080P长视频生成及多样化艺术风格支持,实现了更丰富的创意表达。未来,通义万相将继续探索视觉领域的规模化和泛化,打造更加通用的视觉生成大模型。
|
7月前
|
人工智能 资源调度 调度
DeepSeek一体机!飞天企业版上新“AI Stack”,支持DeepSeek满血版和Qwen单机部署!
飞天企业版上新“AI Stack”,支持DeepSeek满血版和Qwen单机部署!
4417 0
|
7月前
|
Oracle Java 关系型数据库
课时48:JavaDoc文档简述
主要讲解了Java DOC文档的使用方法和技巧。首先,介绍了Java DOC的简介,强调了在开发过程中需要大量使用API文档。其次,详细解析了Java DOC的组成结构,包括位的完整定义、类的相关说明以及方法的详细解释。 1.Java DOC简介 2.Java DOC文档的组成
163 20
|
7月前
|
Java C语言 C++
课时9:Java数据类型划分(数据类型划分)
课时9介绍了Java的数据类型划分及其操作。Java数据类型分为基本数据类型和引用数据类型。基本数据类型包括八种:数值型(整形、浮点型)、字符型和布尔型;引用数据类型有数组、类和接口。重点讲解了每种数据类型的默认值、适用场景及选择原则,如整数用int,小数用double,日期时间用Long等。掌握这些内容对编程至关重要。
138 4
课时9:Java数据类型划分(数据类型划分)
|
7月前
|
Java 程序员 数据处理
课时19:Java运算符(位运算符)
课时19介绍Java中的位运算符,涵盖进制转换、位与、位或及移位操作。重点讲解了二进制与其他进制的转换方法,通过具体范例演示了位与和位或运算的过程,并展示了八进制和十六进制的处理方式。此外,还解释了逻辑运算符(&&、||)与位运算符(&、|)的区别及其应用场景,特别是位运算在加密中的应用。
152 5
|
7月前
|
Java
课时18:Java运算符(逻辑运算符)
课时18介绍了Java中的逻辑运算符(与、或、非)。通过范例详细讲解了非操作的使用,展示了如何正确应用逻辑非(!)。接着分别探讨了与操作(& 和 &&)及或操作(| 和 ||),强调了短路运算符(&& 和 ||)在性能和安全性上的优势。课程通过具体代码示例演示了不同逻辑运算符的效果及其应用场景。
176 5
|
7月前
|
Java C++
课时124:assert断言
assert断言的含义以及使用 1.断言的引入 2.生活实例理解断言 3.Java 中断言的使用
162 2