Contenidor (estructura de dades)

En informàtica, un contenidor és una classe, una estructura de dades, o un tipus abstracte de dades (TDA) les instàncies del qual són col·leccions d'altres objectes. S'utilitzen per emmagatzemar objectes d'una forma organitzada i seguint unes normes específiques d'accés.

Normalment els contenidors implementen mètodes o operacions que realitzin les següents funcions:

  • Un métode constructor per crear un nou contenidor buit
  • Una operació per obtenir el nombre d'elements dins del contenidor
  • Una operació per verificar si el contenidor està buit
  • Una operació per afegir o inserir un nou element al contenidor
  • Una operació per eliminar o treure un element del contenidor
  • Una operació per buidar o eliminar tots els element del contenidor
  • Un métode iterador per recórrer cada un dels elements continguts

Hi ha dos tipus de contenidors:

  • Contenidors per valor: El contenidor emmagatzema còpies dels objectes que conté.
  • Contenidors per referència: El contenidor només conté referències (normalment adreces de memòria) als objectes.

Exemple d'operacions comunes de tots els contenidors modifica

En general podem dir que tots els contenidors implementaran els següents mètodes:

  • Informar del nombre d'elements de l'objecte (p. ex. el mètode nombreElements())
  • Informar si la llista està buida (buida)
  • Un mètode que retorni un objecte de tipus iterador

Un exemple d'especificació és el següent interfície del llenguatge de programació Java:

public interface Contenidor<E>
{
public boolean buit();
public int nombreElements();
public Iterador<E> elements();
}

En alguns casos es pot utilitzar una classe abstracta per implementar aquests mètodes.

Contenidors seqüencials modifica

Els contenidors seqüencials són aquells on l'ordre en què s'emmagatzemen els elements és important. La següent llista ens mostra els contenidors seqüencials més utilitzats:

Exemples de contenidors modifica

Implementacions modifica