C# Class clojure.lang.PersistentArrayMap

Inheritance: APersistentMap, IObj, IEditableCollection
Show file Open project: richhickey/clojure-clr

Protected Properties

Property Type Description
_array object[]

Public Methods

Method Description
PersistentArrayMap ( object init ) : System

Initializes a PersistentArrayMap to use the supplied key/value array.

The array is used directly. Do not modify externally or immutability is sacrificed.

asTransient ( ) : ITransientCollection
assoc ( object key, object val ) : IPersistentMap

Add a new key/value pair.

Overwrites an exising value for the key, if present.

assocEx ( object key, object val ) : IPersistentMap

Add a new key/value pair.

Throws an exception if key has a value already.

containsKey ( object key ) : bool

Test if the map contains a key.

count ( ) : int

Gets the number of items in the collection.

empty ( ) : IPersistentCollection

Gets an empty collection of the same type.

entryAt ( object key ) : IMapEntry

Returns the key/value pair for this key.

meta ( ) : IPersistentMap
seq ( ) : ISeq

Gets an ISeq to allow first/rest iteration through the collection.

valAt ( object key ) : object

Gets the value associated with a key.

valAt ( object key, object notFound ) : object

Gets the value associated with a key.

withMeta ( IPersistentMap meta ) : IObj

Create a copy with new metadata.

without ( object key ) : IPersistentMap

Remove a key entry.

Protected Methods

Method Description
PersistentArrayMap ( ) : System

Create an empty PersistentArrayMap.

PersistentArrayMap ( IPersistentMap meta, object init ) : System

Initializes a PersistentArrayMap to use the supplied key/value array and metadata.

The array is used directly. Do not modify externally or immutability is sacrificed.

Private Methods

Method Description
EqualKey ( object k1, object k2 ) : bool

Compare two keys for equality.

Handles nulls properly.

IndexOfKey ( object key ) : int

Gets the index of the key in the array.

create ( IDictionary other ) : IPersistentMap
create ( ) : PersistentArrayMap
createHT ( object init ) : IPersistentMap

Create an IPersistentMap to hold the data when an operation causes the threshhold size to be exceeded.

createWithCheck ( Object init ) : PersistentArrayMap

Method Details

PersistentArrayMap() protected method

Create an empty PersistentArrayMap.
protected PersistentArrayMap ( ) : System
return System

PersistentArrayMap() protected method

Initializes a PersistentArrayMap to use the supplied key/value array and metadata.
The array is used directly. Do not modify externally or immutability is sacrificed.
protected PersistentArrayMap ( IPersistentMap meta, object init ) : System
meta IPersistentMap The metadata to attach.
init object An array with alternating keys and values.
return System

PersistentArrayMap() public method

Initializes a PersistentArrayMap to use the supplied key/value array.
The array is used directly. Do not modify externally or immutability is sacrificed.
public PersistentArrayMap ( object init ) : System
init object An array with alternating keys and values.
return System

asTransient() public method

public asTransient ( ) : ITransientCollection
return ITransientCollection

assoc() public method

Add a new key/value pair.
Overwrites an exising value for the key, if present.
public assoc ( object key, object val ) : IPersistentMap
key object The key
val object The value
return IPersistentMap

assocEx() public method

Add a new key/value pair.
Throws an exception if key has a value already.
public assocEx ( object key, object val ) : IPersistentMap
key object The key
val object The value
return IPersistentMap

containsKey() public method

Test if the map contains a key.
public containsKey ( object key ) : bool
key object The key to test for membership
return bool

count() public method

Gets the number of items in the collection.
public count ( ) : int
return int

empty() public method

Gets an empty collection of the same type.
public empty ( ) : IPersistentCollection
return IPersistentCollection

entryAt() public method

Returns the key/value pair for this key.
public entryAt ( object key ) : IMapEntry
key object The key to retrieve
return IMapEntry

meta() public method

public meta ( ) : IPersistentMap
return IPersistentMap

seq() public method

Gets an ISeq to allow first/rest iteration through the collection.
public seq ( ) : ISeq
return ISeq

valAt() public method

Gets the value associated with a key.
public valAt ( object key ) : object
key object The key to look up.
return object

valAt() public method

Gets the value associated with a key.
public valAt ( object key, object notFound ) : object
key object The key to look up.
notFound object The value to return if the key is not present.
return object

withMeta() public method

Create a copy with new metadata.
public withMeta ( IPersistentMap meta ) : IObj
meta IPersistentMap The new metadata.
return IObj

without() public method

Remove a key entry.
public without ( object key ) : IPersistentMap
key object The key to remove
return IPersistentMap

Property Details

_array protected property

The array holding the key/value pairs.
The i-th pair is in _array[2*i] and _array[2*i+1].
protected object[] _array
return object[]