Bagaimana cara mendefinisikan tumpukan karakter di java? Sebagai contoh, untuk membuat tumpukan String, saya dapat menggunakan konstruksi tersebut:
Stack <String> stack= new Stack <String> ();
Tetapi ketika saya mencoba memasukkan char sebagai pengganti String, saya mendapatkan kesalahan:
Syntax error on token "char", Dimensions expected after this token
char
adalah salah satu tipe data primitif di Java, yang tidak dapat digunakan dalam tipe data generik. Namun, Anda bisa mengganti pembungkus java.lang.Character, seperti dalam:
Stack<Character> stack = new Stack<Character>();
Anda dapat menetapkan Character
ke char
atau sebaliknya; Java akan autobox nilainya untuk Anda.
Menggunakan koleksi char sangat tidak efisien. (tetapi bisa digunakan) Anda bisa membungkus StringBuilder yang juga merupakan kumpulan char yang dapat diubah-ubah.
class CharStack {
final StringBuilder sb = new StringBuilder();
public void push(char ch) {
sb.append(ch);
}
public char pop() {
int last = sb.length() -1;
char ch= sb.charAt(last);
sb.setLength(last);
return ch;
}
public int size() {
return sb.length();
}
}