2009-08-24 10 views
7

हम्म। मैं देख रहा हूं कि स्टैक वेक्टर का उप-वर्ग है, और मैंने सोचा कि वेक्टर और हैशटेबल को उनके पुराने सिंक्रनाइज़ेशन के कारण "पुराना" डेटास्ट्रक्चर माना जाता था, भले ही आपको इसकी आवश्यकता न हो। (बनाम सूची, मानचित्र, आदि जो इसे आपके लिए उपलब्ध नहीं कराते हैं)java.util. उचित डेटा संरचना स्टैक करें?

वह और यह एक वर्ग है, इंटरफ़ेस नहीं।

क्या कोई और आधुनिक, अनुशंसित विकल्प है? (पिछले-इन-फर्स्ट-आउट) स्टैक्स

उत्तर

15

java.util.Deque

Deques भी LIFO रूप में इस्तेमाल किया जा सकता है। इस इंटरफ़ेस को विरासत स्टैक क्लास की प्राथमिकता में उपयोग किया जाना चाहिए। जब एक डेक को ढेर के रूप में उपयोग किया जाता है, तो तत्वों को धक्का दिया जाता है और डेक की शुरुआत से पॉप किया जाता है।

+3

संग्रह .asLifoQueue एक "उचित" LIFO कतार में 'डेक' को चालू कर देगा। –

2

मैं अपने उद्देश्यों के लिए लिंक्डलिस्ट का उपयोग कर समाप्त हुआ (जोड़ें() और हटाएं() को पुश और पॉप ऑपरेशंस के रूप में हटाएं)। ओह, ऐसा लगता है कि यह एक डुप्लिकेट Q.

संबंधित मुद्दे