[Overview][Constants][Types][Classes][Procedures and functions][Index] Reference for unit 'contnrs' (#fcl)

TFPCustomHashTable

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Hash class

Declaration

Source position: contnrs.pp line 352

type TFPCustomHashTable = class(TObject)

protected

  function CreateNewNode(); virtual; abstract;

  procedure AddNode(); virtual; abstract;

  function ChainLength(); virtual;

  function FindOrCreateNew(); virtual;

  procedure SetHashFunction(); virtual;

  function FindChainForAdd();

public

  constructor Create;

  

Instantiate a new TFPCustomHashTable instance using the default hash mechanism

  constructor CreateWith();

  

Instantiate a new TFPCustomHashTable instance with given algorithm and size

  destructor Destroy; override;

  

Free the hash table.

  procedure ChangeTableSize(); virtual;

  

Change the table size of the hash table.

  procedure Clear; virtual;

  

Clear the hash table.

  procedure Delete(); virtual;

  

Delete a key from the hash list.

  function Find();

  

Search for an item with a certain key value.

  function IsEmpty;

  

Check if the hash table is empty.

  property HashFunction: THashFunction; [rw]

  

Hash function currently in use

  property Count: LongWord; [r]

  

Number of items in the hash table.

  property HashTableSize: LongWord; [rw]

  

Size of the hash table

  property HashTable: TFPObjectList; [r]

  

Hash table instance

  property VoidSlots: LongWord; [r]

  

Number of empty slots in the hash table.

  property LoadFactor: double; [r]

  

Fraction of count versus size

  property AVGChainLen: double; [r]

  

Average chain length

  property MaxChainLength: LongWord; [r]

  

Maximum chain length

  property NumberOfCollisions: LongWord; [r]

  

Number of extra items

  property Density: LongWord; [r]

  

Number of filled slots

end;

Inheritance

TFPCustomHashTable

  

Hash class

|

TObject

Description

TFPCustomHashTable is a general-purpose hashing class. It can store string keys and pointers associated with these strings. The hash mechanism is configurable and can be optionally be specified when a new instance of the class is created; A default hash mechanism is implemented in RSHash.

A TFPHasList should be used when fast lookup of data based on some key is required. The other container objects only offer linear search methods, while the hash list offers faster search mechanisms.

See also

THTCustomNode

  

Single item in the hash table.

TFPObjectList

  

TFPList descendent which manages objects.

RSHash

  

Standard hash value calculating function.

The latest version of this document can be found at lazarus-ccr.sourceforge.net.