cl.cromer.estructuras

## Class HashTable

- java.lang.Object
- - cl.cromer.estructuras.TablaHash

    public class HashTable
    extends java.lang.Object

Esta clase es tipo de estructura de dato Tabla Hash.

Author:
  Chris Cromer

### Field Summary

Fields
`private HashItem[]` `hashArray` El array donde están todos los elementos de la tabla hash.
`private int` `size` Cantidad de elementos que están en la tabla hash.
`private int` `tamano` El tamaño maximo de la tabla hash.

### Constructor Summary

Constructors
Constructor and Description
`HashTable(int tamano)` Inicilizar.

### Method Summary

All Methods Instance Methods Concrete Methods
`HashItem` `buscar(java.lang.String llave)` Buscar una llave en la tabla hash.
`boolean` `eliminar(java.lang.String llave)` Eliminar un elemento de la tabla hash.
`HashItem` `getIndice(int indice)` Devolver el valor que está guardado en cada indice.
`int` `hash(java.lang.String string)` Este metodo crea un hash usando una llave.
`int` `hashMejor(java.lang.String string)` Este metodo crea un hash muy único.
`boolean` `insertar(java.lang.String llave, int valor)` Insertar una llave y valor en la tabla hash.
`int` `size()` Devolver la cantidad de elementos que están en la tabla.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### hashArray

    private final HashItem[] hashArray

El array donde están todos los elementos de la tabla hash.

#### tamano

    private final int tamano

El tamaño maximo de la tabla hash.

#### size

    private int size

Cantidad de elementos que están en la tabla hash.

### Constructor Detail

#### HashTable

    public HashTable(int tamano)

Inicilizar.

Parameters:
  `tamano` - int: El tamaño maximo de la tabla hash.

### Method Detail

#### size

    public int size()

Devolver la cantidad de elementos que están en la tabla.

Returns:
  int: La cantidad.

#### hashMejor

    public int hashMejor(java.lang.String string)

Este metodo crea un hash muy único.

Parameters:
  `string` - String: El string a hashear.
Returns:
  int: El hash a devolver.

#### insertar

    public boolean insertar(java.lang.String llave,
                            int valor)

Insertar una llave y valor en la tabla hash.

Parameters:
  `llave` - String: La llave para identificar un elemento.
  `valor` - int: El valor a insertar.
Returns:
  boolean: Verdad si fue insertado, sino está llena la tabla hash.

#### hash

    public int hash(java.lang.String string)

Este metodo crea un hash usando una llave.

Parameters:
  `string` - String: El string a hashear.
Returns:
  int: El hash a devolver.

#### eliminar

    public boolean eliminar(java.lang.String llave)

Eliminar un elemento de la tabla hash.

Parameters:
  `llave` - String: La llave a elminar.
Returns:
  boolean: Verdad si fue borrado, sino no existiá.

#### buscar

    public HashItem buscar(java.lang.String llave)

Buscar una llave en la tabla hash.

Parameters:
  `llave` - String: La llave a buscar.
Returns:
  HashItem: Devolver el elemento que contine la llave.

#### getIndice

    public HashItem getIndice(int indice)

Devolver el valor que está guardado en cada indice. Se usa para construir la grafica.

Parameters:
  `indice` - int: El indice que desea ver.
Returns:
  String: El valor que está en dicho indice.