You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何打印单向链表(SLL)中存储的BirthdayCalc对象的指定属性

实现方法

前提准备

首先你需要保证BirthdayCalc类提供对应字段的公开getter方法,否则无法直接访问类内的私有字段,示例代码如下:

public class BirthdayCalc {
    // 已有字段、构造方法等保持不变
    private int month;
    private int day;
    private int year;
    private String birthdayStr;

    // 新增以下getter方法
    public int getMonth() {
        return month;
    }
    public int getDay() {
        return day;
    }
    public int getYear() {
        return year;
    }
    public String getBirthdayStr() {
        return birthdayStr;
    }
}

场景1:使用Java标准库LinkedList<BirthdayCalc>作为SLL实现

批量打印所有节点的指定字段

直接用增强for循环遍历即可:

for (BirthdayCalc item : list) {
    System.out.println("年:" + item.getYear());
    System.out.println("月:" + item.getMonth());
    System.out.println("日:" + item.getDay());
    System.out.println("生日字符串:" + item.getBirthdayStr());
    System.out.println("-------------------");
}

每次新增节点后打印当前节点内容

直接在addLast逻辑后追加打印代码即可,不需要遍历整个链表:

BirthdayCalc object = new BirthdayCalc(month, day, year, result, birthdayStr);
list.addLast(object);
// 直接打印刚新增的对象字段
System.out.println("新增节点内容:");
System.out.println("年:" + object.getYear());
System.out.println("月:" + object.getMonth());
System.out.println("日:" + object.getDay());
System.out.println("生日字符串:" + object.getBirthdayStr());

场景2:使用自定义实现的单向链表SLL

你需要先确保自定义SLL提供了获取头节点、节点可通过next指针访问后继节点的能力,遍历打印代码示例:

// 假设自定义SLL的节点类为Node,data属性存储BirthdayCalc对象,next属性指向后继节点
Node current = list.getHead();
while (current != null) {
    BirthdayCalc item = current.data;
    System.out.println("年:" + item.getYear());
    System.out.println("月:" + item.getMonth());
    System.out.println("日:" + item.getDay());
    System.out.println("生日字符串:" + item.getBirthdayStr());
    System.out.println("-------------------");
    current = current.next;
}

内容的提问来源于stack exchange,提问作者Diante Page

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:27:03