Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Java: КлассыКласс Stack

Класс Stack

java.util

public class Stack
extends Vector
implements Cloneable, Collection, List, Serializable

Stack — подкласс класса Vector, который реализует простой механизм типа "последний вошел - первый вышел" (LIFO). В дополнение к стандартным методам своего родительского класса, Stack предлагает наличие описанных ниже методов.

Конструкторы

Stack()
           Создаёт пустой стек.


Методы

boolean

empty()

           Служит для проверки стека на наличие элементов — он возвращает true, если стек пуст.
Object

peek()

           Возвращает верхний элемент, не удаляя его из стека.
Object

pop()

           Извлекает верхний элемент удаляя его из стека.
Object

push(Object item)

           Помещает элемент в вершину стека.
int

search(Object o)

           Метод ищет заданный элемент в стеке, возвращая количество операций pop, которые требуются для того чтобы перевести искомый элемент в вершину стека. Если заданный элемент в стеке отсутствует, этот метод возвращает -1.

Пример использования:

Ниже приведен пример программы, которая создает стек, заносит в него несколько объектов типа Integer, а затем извлекает их.


import java.util.Stack;
import java.util.EmptyStackException; 
class StackExample
{
 static void showpush(Stack st, int a)
 { 
  st.push(new Integer(a));
  System.out.println("push(" + a + ")");
  System.out.println("stack: " + st);
 }
 static void showpop(Stack st)
 { 
  System.out.print("pop -> ");
  Integer a = (Integer) st.pop();
  System.out.println(a);
  System.out.println("stack: " + st);
 }
 public static void main(String args[])
 { 
  Stack st = new Stack();
  System.out.println("stack: " + st);
  showpush(st, 42);
  showpush(st, 66);
  showpush(st, 99);
  showpop(st);
  showpop(st);
  showpop(st);
  try
  {
   showpop(st);
  } 
  catch (EmptyStackException e)
  { 
   System.out.println("empty stack");
  }
 }
}

Ниже приведен результат, полученный при запуске этой программы. Обратите внимание на то, что обработчик исключений реагирует на попытку извлечь данные из пустого стека. Благодаря этому мы можем аккуратно обрабатывать ошибки такого рода.

stack: []
push(42)
stack: [42]
push(66)
stack: [42, 66]
push(99)
stack: [42, 66, 99]
pop -> 99
stack: [42, 66]
pop -> 66
stack: [42]
pop -> 42
stack: []
pop -> empty stack


Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95