2

Is there a way to add characters from a string to a stack without having to create your own push and pop methods?

Examples would be very appreciated!

4

2 に答える 2

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

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

オブジェクトを含むスタックを作成し、挿入する前に にキャストCharacterします。charCharacter

JavaCharacterクラス: http://docs.oracle.com/javase/7/docs/api/java/lang/Character.html

ints やs と同様Integerに、データ構造に挿入する前にプリミティブをラップする必要があります。

編集:Stackから継承しているため、明らかに非推奨ですVector。理由は次のとおりです。 Java Vector クラスが廃止または非推奨と見なされるのはなぜですか?

Mark Peters が示したように、LinkedListorを使用する必要がありますArrayDeque

于 2013-01-21T00:40:17.387 に答える
3

いくつかの誤解があるため、この質問に答えることにしました...つまり、次のStringとおりです。

String s = "your string";

マイケルからの回答にコメントするには、作成StackまたはList( ) を見てくださいLinkedList

Stack<Character> d = new Stack<Character>();

charやっぱりプッシュロジックでループ

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

そしてそれだけです!!!

于 2013-01-21T02:51:47.043 に答える