我有一個在Java中定義的Stack<String>
,用於通過工作流進行導航。截斷Java堆棧
我想要做的是確保堆棧中的所有值都是唯一的:當轉換到「上一個」狀態時,我想從堆棧中移除所有的東西,在第一次出現之前的狀態疊加。
有沒有簡單的方法來做到這一點?
編輯:提供了更多信息。下面是一個堆棧的內容的例子:
[state2, state3, state2, state1, startState]
我需要的能力,接受一個字符串,檢查堆棧,看看是否有它的多次出現,然後彈出元素,直到該「最底層」的發生串。 「截斷」可能是我想要做的不好描述......「彈出,直到我打到任意索引」可能更接近我所需要的。
流行,直到到達之前的狀態?似乎並不那麼「硬」;儘管「首次出現」可以使用澄清 - 例如最靠近堆棧的頂部還是底部? – user2864740 2015-04-02 19:02:44
堆棧中存在重複字符串的遠程可能性。如果我從堆棧彈出,我需要彈出直到該字符串的第一次出現。如果我使用的是列表,我會得到索引並創建一個子列表,但是沒有像subStack那樣的東西。 – Jason 2015-04-02 19:04:44
你能進一步澄清這是什麼意思?當前的描述使得它像流行音樂一樣將刪除頭部和除頭部以下的值之外的其他所有內容? – Necreaux 2015-04-02 19:07:24