Generic Classes: Defining a generic class

Defining a generic class

class Stack[A] {
  private var elements: List[A] = Nil
  def push(x: A) { elements = x :: elements }
  def peek: A = elements.head
  def pop(): A = {
    val currentTop = peek
    elements = elements.tail
    currentTop
  }
}

Generic classes take a type as a parameter within square brackets []. One convention is to use the letter A as type parameter identifier, though any parameter name may be used.

Related concepts

Defining a generic class

Generic Classes: Defining a generic class — Structure map

Clickable & Draggable!

Generic Classes: Defining a generic class — Related pages: