我是否在swift中实现了自己的堆栈? swift是否像Java一样在库中有堆栈?
问题描述:
新来swift,当我想要使用堆栈时感到困惑。我必须自己实施吗?如果是这样,为什么swift不像Java那样在库中拥有它? 谢谢。我是否在swift中实现了自己的堆栈? swift是否像Java一样在库中有堆栈?
答
我不熟悉Java,但如果你需要能够将商品放进堆栈,并弹出最后一个项目从堆栈,Array
的具备的功能:
var array = [1,2,3]
array.append(4) //added an item to the stack
print(array) // 1,2,3,4
let last = array.popLast()
print(last) // 4
print(array) // 1,2,3
答
你真的不需要做太多的工作来获得可以作为堆栈的东西。 Array
的方法有append
和popLast
,它们可以用作堆栈方法push和pop。你甚至可以做一些扩展,使Array
方法匹配在传统的堆栈发现:
extension Array {
mutating func push(item:Element) {
append(item)
}
mutating func pop() -> Element? {
return popLast()
}
}
的IT实施证明文档中:https://developer.apple.com/library/ios/documentation /Swift/Conceptual/Swift_Programming_Language/Generics.html – sschale