class LinkedList constructor: -> # 首节点 @_head = null # 添加节点 add: (data) -> # 创建新节点 node = data: data, next:null # 如果首节点为空, 则进行赋值; 否则设置遍历的起点为首节点 current = @_head or = node # 判断是否只有一个节点 if @_head isnt node # 遍历至最后一个节点 current = current.next while current.next # 添加新节点至队列尾部 current.next = node # 返回队列 this # 查找节点 item: (index) -> # 负数处理 return null if index < 0 # 第一个节点 current = @_head or null i = -1 # 遍历, 直至节点不会空且序号为index current = current.next while current and index > ++i # 返回节点的data值 current and current.data # 删除节点 remove: (index) -> # 负数处理 return null if index < 0 current = @_head or null i = -1 # 当序号为0时 if index is 0 # 则将首节点的下一个节点提升为子节点 @_head = current.next else # 序号>0时, 遍历获取目标节点以及其上一个节点 [previous, current] = [current, current.next] while index > ++i # 将目标节点的上下级节点关联, 从而达到删除目标节点的效果 previous.next = current.next # 返回被删除的目标节点的data值 current and current.data # 计算队列大小 size: -> current = @_head count = 0 while current count += 1 current = current.next count # 转化为Array toArray: -> result = [] current = @_head while current result.push current.data current = current.next result # 转化为字符串 toString: -> @toArray().toString()
相关推荐
在本项目“Gourmet Coffee System”中,我们将深入探讨如何使用Java编程语言实现一个精致的咖啡制作系统。这个系统的设计和实现将涵盖多种Java编程概念,特别是迭代器的使用,这对于初学者理解Java集合框架的核心...
在这个实验中,学生将学习如何使用Java语言来实现集合框架,例如ArrayList和LinkedList,并且了解如何使用这些集合框架来解决实际问题。 Experiment 2 Using Design Patterns in the Gourmet Coffee System 在这个...
【标题】"King-Kong-Coffee"所指的可能是一个以咖啡为主题的个人项目,很可能是一个用Java编程语言实现的咖啡店管理系统或者在线订餐平台。这个项目的命名可能来源于电影《金刚》(King Kong),寓意该项目如电影...
8. 集合框架:Java集合框架是处理对象数组的重要工具,包括List、Set、Queue等接口和ArrayList、LinkedList、HashSet、HashMap等实现类。实验中可能涉及数据的存储和操作,如使用ArrayList存储学生信息。 9. 文件与...
5. **集合框架**:Java集合框架包括List、Set、Queue、Map等接口及其实现类,如ArrayList、LinkedList、HashSet、HashMap等,它们在存储和操作数据方面发挥着重要作用。 6. **输入输出流**:I/O流是Java处理数据...
比如,可以设计一个`Coffee`类来表示各种咖啡,一个`Order`类来处理订单,一个`Inventory`类来管理库存。 2. **异常处理**:在处理用户输入或系统操作时,可能出现异常情况,如订单金额不足、库存不足等。Java的...
例如,可以创建一个`Cafe`类,包含`Coffee`、`Tea`等子类,以及`Customer`和`Barista`角色,体现类的层次关系。 2. **异常处理** 在Java中,异常处理是保证程序健壮性的重要手段。使用`try-catch-finally`语句块,...
例如,可以有`Coffee`类来描述咖啡的类型、价格等,`Customer`类来表示顾客信息,以及`Order`类来处理订单。 3. **集合框架**:在处理如库存、订单等数据时,Java的集合框架如ArrayList、LinkedList、HashMap等将...