Class SortedDictionary
SortedList-based IDictionary implementation that allows null
keys.
Inherited Members
Namespace: Tangosol.Util.Collections
Assembly: Coherence.dll
Syntax
[Serializable]
public class SortedDictionary : SortedList, IDictionary, ICollection, ICloneable, IEnumerable, ISerializable
Remarks
Note that null
keys support intentionally breaks
IDictionary contract, which states that an
ArgumentNullException
should be raised if the key is
null
.
null
keys.
Note: This implementation is not thread safe. If you need it to be,
you should wrap it with the SynchronizedDictionary.
Constructors
SortedDictionary()
Initializes a new instance of the SortedDictionary class that is empty, has the default initial capacity, and is sorted according to the IComparable interface implemented by each key added to the SortedDictionary object.
Declaration
public SortedDictionary()
SortedDictionary(IComparer)
Initializes a new instance of the SortedDictionary class that is empty, has the default initial capacity, and is sorted according to the specified IComparer interface.
Declaration
public SortedDictionary(IComparer comparer)
Parameters
Type | Name | Description |
---|---|---|
IComparer | comparer | The IComparer implementation to use when comparing keys.-or- null to use the IComparable implementation of each key. |
SortedDictionary(IComparer, int)
Initializes a new instance of the SortedDictionary class that is empty, has the specified initial capacity, and is sorted according to the specified IComparer interface.
Declaration
public SortedDictionary(IComparer comparer, int capacity)
Parameters
Type | Name | Description |
---|---|---|
IComparer | comparer | The IComparer implementation to use when comparing keys.-or- null to use the IComparable implementation of each key. |
int | capacity | The initial number of elements this SortedDictionary object can contain. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException |
|
OutOfMemoryException | There is not enough available memory to create a
SortedDictionary object with the specified
|
SortedDictionary(IDictionary)
Initializes a new instance of the SortedDictionary class that contains elements copied from the specified dictionary, has the same initial capacity as the number of elements copied, and is sorted according to the IComparable interface implemented by each key.
Declaration
public SortedDictionary(IDictionary d)
Parameters
Type | Name | Description |
---|---|---|
IDictionary | d | The IDictionary implementation to copy to a new SortedDictionary object. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
InvalidCastException | One or more elements in |
SortedDictionary(IDictionary, IComparer)
Initializes a new instance of the SortedDictionary class that contains elements copied from the specified dictionary, has the same initial capacity as the number of elements copied, and is sorted according to the specified IComparer interface.
Declaration
public SortedDictionary(IDictionary d, IComparer comparer)
Parameters
Type | Name | Description |
---|---|---|
IDictionary | d | The IDictionary implementation to copy to a new SortedDictionary object. |
IComparer | comparer | The IComparer implementation to use when comparing keys.-or- null to use the IComparable implementation of each key. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
InvalidCastException |
|
SortedDictionary(int)
Initializes a new instance of the SortedDictionary class that is empty, has the specified initial capacity, and is sorted according to the IComparable interface implemented by each key added to the SortedDictionary object.
Declaration
public SortedDictionary(int initialCapacity)
Parameters
Type | Name | Description |
---|---|---|
int | initialCapacity | The initial number of elements this SortedDictionary object can contain. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException |
|
OutOfMemoryException | There is not enough available memory to create a
SortedDictionary object with the specified
|
SortedDictionary(SerializationInfo, StreamingContext)
Initializes a new instance of the SortedDictionary class that is serializable using the specified SerializationInfo and StreamingContext objects.
Declaration
protected SortedDictionary(SerializationInfo info, StreamingContext context)
Parameters
Type | Name | Description |
---|---|---|
SerializationInfo | info | A SerializationInfo object containing the information required to serialize the HashDictionary object. |
StreamingContext | context | A StreamingContext object containing the source and destination of the serialized stream associated with the SortedDictionary. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
Properties
Comparer
Return the IComparer associated with this SortedDictionary.
Declaration
public virtual IComparer Comparer { get; }
Property Value
Type | Description |
---|---|
IComparer |
Count
Gets the number of elements contained in the ICollection.
Declaration
public override int Count { get; }
Property Value
Type | Description |
---|---|
int | The number of elements contained in the ICollection. |
Overrides
IsNullValueSet
Returns true is the value for the null
key is set,
false otherwise.
Declaration
protected bool IsNullValueSet { get; }
Property Value
Type | Description |
---|---|
bool | true is the value for the |
this[object]
Gets or sets the element with the specified key.
Declaration
public override object this[object key] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
object | key | The key of the element to get or set. |
Property Value
Type | Description |
---|---|
object | The element with the specified key. |
Overrides
Exceptions
Type | Condition |
---|---|
NotSupportedException | The property is set and the dictionary is read-only.
-or- The property is set, |
Keys
Gets an ICollection object containing the keys of this dictionary.
Declaration
public override ICollection Keys { get; }
Property Value
Type | Description |
---|---|
ICollection | An ICollection object containing the keys of this dictionary object. |
Overrides
Values
Gets an ICollection object containing the values in this dictionary.
Declaration
public override ICollection Values { get; }
Property Value
Type | Description |
---|---|
ICollection | An ICollection object containing the values in this dictionary object. |
Overrides
Methods
Add(object, object)
Adds an element with the provided key and value to the IDictionary object.
Declaration
public override void Add(object key, object value)
Parameters
Type | Name | Description |
---|---|---|
object | key | The object to use as the key of the element to add. |
object | value | The object to use as the value of the element to add. |
Overrides
Exceptions
Type | Condition |
---|---|
ArgumentException | An element with the same key already exists in the IDictionary object. |
NotSupportedException | The IDictionary is read-only. -or- The IDictionary has a fixed size. |
AssertIsVariableSize()
Throw an exception if this dictionary is fixed size.
Declaration
protected void AssertIsVariableSize()
AssertIsWriteable()
Throw an exception if this dictionary is read-only.
Declaration
protected void AssertIsWriteable()
Clear()
Removes all elements from the IDictionary object.
Declaration
public override void Clear()
Overrides
Exceptions
Type | Condition |
---|---|
NotSupportedException | The IDictionary object is read-only. |
Clone()
Creates a new object that is a copy of the current instance.
Declaration
public override object Clone()
Returns
Type | Description |
---|---|
object | A new object that is a copy of this instance. |
Overrides
Contains(object)
Determines whether this dictionary contains an entry with the specified key.
Declaration
public override bool Contains(object key)
Parameters
Type | Name | Description |
---|---|---|
object | key | The key to locate in this dictionary. |
Returns
Type | Description |
---|---|
bool | true if the dictionary contains an element with the key; otherwise, false. |
Overrides
ContainsKey(object)
Determines whether the SortedDictionary contains a specific key.
Declaration
public override bool ContainsKey(object key)
Parameters
Type | Name | Description |
---|---|---|
object | key | The key to locate in the SortedDictionary. |
Returns
Type | Description |
---|---|
bool | true if the SortedDictionary contains an element with the specified key; otherwise, false. |
Overrides
ContainsValue(object)
Determines whether the SortedDictionary contains a specific value.
Declaration
public override bool ContainsValue(object value)
Parameters
Type | Name | Description |
---|---|---|
object | value | The value to locate in the SortedDictionary. The value can be null. |
Returns
Type | Description |
---|---|
bool | true if the SortedDictionary contains an element
with the specified |
Overrides
CopyTo(Array, int)
Copies the elements of the collection to an array, starting at a particular array index.
Declaration
public override void CopyTo(Array array, int index)
Parameters
Type | Name | Description |
---|---|---|
Array | array | The one-dimensional array that is the destination of the elements copied from the collection. The array must have zero-based indexing. |
int | index | The zero-based index in the array at which copying begins. |
Overrides
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentOutOfRangeException |
|
ArgumentException |
|
ArgumentException | The type of the source collection cannot be cast automatically
to the type of the destination |
Equals(IDictionary)
Compares this dictionary with another dictionary for equality.
Declaration
public virtual bool Equals(IDictionary dict)
Parameters
Type | Name | Description |
---|---|---|
IDictionary | dict | Dictionary to compare this dictionary with. |
Returns
Type | Description |
---|---|
bool |
|
Remarks
This method returns true if this dictionary and the specified dictionary have exactly the same entry set.
Equals(object)
Determines whether the specified object is equal to this object.
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
object | obj | The object to compare with this object. |
Returns
Type | Description |
---|---|
bool | true if the specified object is equal to this object; otherwise, false. |
Overrides
GetEnumerator()
Returns an IDictionaryEnumerator object for this dictionary.
Declaration
public override IDictionaryEnumerator GetEnumerator()
Returns
Type | Description |
---|---|
IDictionaryEnumerator | An IDictionaryEnumerator object for this dictionary. |
Overrides
GetHashCode()
Returns a hash code for this object.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
int | A hash code for this object. |
Overrides
GetObjectData(SerializationInfo, StreamingContext)
Overrides serialization method to add support for null value serialization.
Declaration
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type | Name | Description |
---|---|---|
SerializationInfo | info | Serialization info. |
StreamingContext | context | Serialization context. |
Remove(object)
Removes the element with the specified key from the IDictionary object.
Declaration
public override void Remove(object key)
Parameters
Type | Name | Description |
---|---|---|
object | key | The key of the element to remove. |
Overrides
Exceptions
Type | Condition |
---|---|
NotSupportedException | The dictionary is read-only. -or- The dictionary has a fixed size. |
ToString()
Returns string representation of this instance.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string | String representation of this instance. |