2013-01-21 25 views
0

有沒有方法可以將字符串中的字符添加到堆棧而無需創建自己的推送和彈出方法?有沒有添加字符到堆棧的方法?

例子將不勝感激!

+0

爲什麼不從'java.util。*'使用'Stack '? – us2012

+1

@ us2012因爲它是非法的,所以你必須使用ref類型,在這種情況下Character! –

+0

我將如何成功嘗試將字符添加到堆棧? @SergiiZagriichuk – Jay

回答

6
Stack<Character> myStack = new Stack<Character>(); 

char letter = 'a'; 
myStack.push((Character) letter); 

創建包含Character對象堆棧,並投出您char s到Character,將其插入。

的Java類Characterhttp://docs.oracle.com/javase/7/docs/api/java/lang/Character.html

就像int S和Integer S,你需要用一種原始的,然後才能在一個數據結構插入。

編輯:顯然Stack已被棄用,因爲它從Vector繼承。原因如下:Why is Java Vector class considered obsolete or deprecated?

正如Mark Peters指出的,您應該使用LinkedListArrayDeque

+3

'堆棧'是非正式的反對'Deque'實現,如'LinkedList'和'ArrayDeque'。不幸的是,他們把'Stack'作爲一個具體的類而不是接口的名字搞砸了。 –

+0

...並通過從'Vector' ... – EJP

+0

繼承,所以它畢竟不可能完成? – Jay

2

我已經決定了,因爲有一些誤會來回答這個問題...... 所以, 有String

String s = "your string"; 

創建StackListLinkedList)看評論作者邁克爾回答

Stack<Character> d = new Stack<Character>(); 
char推邏輯所有循環後

for (char c : s.toCharArray()) { 
     d.push(c); 
    } 

就是這樣!

相關問題