Java 栈的迭代器删除操作的问题

进行Java数据结构的学习时,已知栈的特点是只能从栈的顶部进行插入和删除操作。但是如果对栈实现迭代器,那么使用迭代器删除是否破坏栈的特性?迭代器删除方法如何进行重写才合理?

栈的定义已经说明了: 一种操作受限的线性表结构.
所谓操作受限就是让它只能在栈顶进行push和pop, 如果你想进行迭代, 并且在迭代过程中进行除push和pop之类的操作, 语法层面上当然没有问题,是否可以删除, 都是自定义的.
可是,这种数据结构还是栈吗?四不像了
数组, 链表任你迭代和迭代删除呀, 并且栈不就是由数组或者链表实现的嘛.