当前位置: 首页 > article >正文

Java基础——类和对象的定义链表的创建,输出

目录

什么是类?

什么是对象?

 如何创建链表?

尾插法:

头插法:

输出链表的长度

输出链表的值


什么是类?

创建Java程序必须创建一个类class.

.java程序需要经过javac指令将文件翻译为.class字节码文件,再通过java指令将其调用。此时内存为正在运行的Java程序开辟内存空间。

 在内存为Java开辟的空间中,其具体主要结构为:

注意:默认任何一个类当中都有一个不显示的无参构造器。但是一旦你显示的创建出构造器,那那个不显示的构造器就会被覆盖。

public static void main(String[] aa){
    Student s1=new Student();
//new: 本身是Java的一个关键字,要求在堆里开辟空间
//Student()://构造器,创建对象的时候给对象赋初始值
//s1:对象的名称
//Student:对象的类型——>决定对象在内存中的存在形式
什么是对象?

对象是堆里的一块内存空间。是有数据有方法的实例

在Java中,链表——本质上为了解决碎片化空间的利用

链表的种类:单链表、双链表、单循环链表、双循环链表、有没有虚拟头节点.....

 如何创建链表?
尾插法:

去找链表的最后一个节点,最后一个节点的next指向新节点.

public class LinkedList{
    
    Node head=null; //头指针

    public void EndInsert(int val){
        Node newNode =new Node(val);

        if(head==null){
        head=newNode;
        return;   //retuern代表方法结束
        }

        Node preNode=head;
        while(preNode.next!=){
            preNode=preNode.next;
        }
        preNode.next=newNode;

    }
头插法:
public void HeadInsert(int val){
     Node newNode =new Node(val);

    if(head==null){
        head=newNode;
        return;   //retuern代表方法结束
        }
    newNode.next=head;
    head=newNode;

}
输出链表的长度
public static int ListLength() {
        int length = 0;
        Node current = head;
        while (current != null) {
            length++;
            current = current.next;
        }
        return length;
    }
输出链表的值
public static void printList() {
        Node current = head;
        while (current != null) {
            System.out.print(current.val+",");
            current = current.next;
        }
        System.out.println("null");
    }


http://www.kler.cn/a/387967.html

相关文章:

  • DAY6 线程
  • 使用VSCode远程连接服务器并解决Neo4j无法登陆问题
  • LLM之模型评估:情感评估/EQ评估/幻觉评估等
  • 线性表-数组描述补充 迭代器(C++)
  • 原生 JavaScript基本内容和常用特性详解
  • 在Linux上部署(MySQL Redis Elasticsearch等)各类软件
  • 通过 ssh config 快速免密连接服务器
  • 【dvwa靶场:XSS系列】XSS (Reflected)低-中-高级别,通关啦
  • 【开发】Java的内存溢出
  • uni-app打包后报错云服务空间未关联
  • unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
  • [python] 如何debug python脚本中C++后端的core dump
  • 【嵌入式开发——ARM】1ARM架构
  • 牛客周赛 Round 67
  • Android 实现一个系统级的悬浮秒表
  • 基于 STM32 的天气时钟项目中添加天气数据的网络获取功能
  • Edge浏览器打开PDF无法显示电子签章
  • mac 本地docker-mysql主从复制部署
  • Hive-testbench套件使用文档
  • Matlab绘制箭头(annotation 、quiver、​quiver3)
  • Python批量合并多个PDF
  • 【Ubuntu24.04】从双系统到虚拟机再到单系统的故事
  • 产品如何3D建模?如何根据使用场景选购3D扫描仪?
  • 书生大模型第四期闯关任务与笔记
  • 在 WPF 中,绑定机制是如何工作的?WPF数据绑定机制解析
  • onnx-runner:使用ORT运行YOLO的ONNX模型