Class HashTableIndex.Bucket
java.lang.Object
AEDs3.DataBase.Index.HashTableIndex.Bucket
- Enclosing class:
HashTableIndex
Classe interna que representa um cesto (bucket) na tabela hash.
Armazena registros de índice e gerencia a inserção, busca e remoção dentro do
cesto.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) shortTamanho total do cesto.(package private) ArrayList<ForwardIndexRegister> Lista de registros de índice armazenados no cesto.(package private) shortTamanho de cada elemento no cesto.(package private) byteProfundidade local do cesto.(package private) shortNúmero máximo de elementos que o cesto pode conter.(package private) shortNúmero atual de elementos no cesto. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleandelete(int id) Remove um registro do cesto.voidfromByteArray(byte[] buf) Inicializa o cesto a partir de um array de bytes.intgetSize()Retorna o tamanho do cesto.voidinsert(ForwardIndexRegister register) Insere um registro no cesto.booleanisEmpty()Verifica se o cesto está vazio.booleanisFull()Verifica se o cesto está cheio.search(int id) Busca um registro no cesto.byte[]Converte o cesto para um array de bytes.
-
Field Details
-
maxElements
short maxElementsNúmero máximo de elementos que o cesto pode conter. -
elementSize
short elementSizeTamanho de cada elemento no cesto. -
bucketSize
short bucketSizeTamanho total do cesto. -
localDepth
byte localDepthProfundidade local do cesto. -
numElements
short numElementsNúmero atual de elementos no cesto. -
elements
ArrayList<ForwardIndexRegister> elementsLista de registros de índice armazenados no cesto.
-
-
Constructor Details
-
Bucket
public Bucket(int maxElements) Construtor do cesto com profundidade local padrão.- Parameters:
maxElements- Número máximo de elementos no cesto.
-
Bucket
public Bucket(int maxElements, int localDepth) Construtor do cesto com profundidade local especificada.- Parameters:
maxElements- Número máximo de elementos no cesto.localDepth- Profundidade local do cesto.
-
-
Method Details
-
toByteArray
Converte o cesto para um array de bytes.- Returns:
- Array de bytes representando o cesto.
- Throws:
IOException- Se ocorrer um erro de I/O.
-
fromByteArray
Inicializa o cesto a partir de um array de bytes.- Parameters:
buf- Array de bytes representando o cesto.- Throws:
IOException- Se ocorrer um erro de I/O.
-
insert
Insere um registro no cesto.- Parameters:
register- Registro a ser inserido.
-
search
Busca um registro no cesto.- Parameters:
id- Identificador do registro.- Returns:
- Registro encontrado ou null se não encontrado.
-
delete
public boolean delete(int id) Remove um registro do cesto.- Parameters:
id- Identificador do registro.- Returns:
- true se o registro foi removido, false caso contrário.
-
isEmpty
public boolean isEmpty()Verifica se o cesto está vazio.- Returns:
- true se o cesto está vazio, false caso contrário.
-
isFull
public boolean isFull()Verifica se o cesto está cheio.- Returns:
- true se o cesto está cheio, false caso contrário.
-
getSize
public int getSize()Retorna o tamanho do cesto.- Returns:
- Tamanho do cesto.
-