Class FieldArrayDictionary<T extends CalculusFieldElement<T>>
- java.lang.Object
-
- org.orekit.utils.FieldArrayDictionary<T>
-
- Type Parameters:
T
- the type of the field elements
public class FieldArrayDictionary<T extends CalculusFieldElement<T>> extends Object
String → CalculusFieldElement[] mapping, for small number of keys.This class is a low overhead for a very small number of keys. It is based on simple array and string comparison. It plays the same role a
Map<String, T[]>
but with reduced features and not intended for large number of keys. For such needs the regularMap<String, T[]>
should be preferred.- Since:
- 11.1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
FieldArrayDictionary.Entry
Entry in a dictionary.
-
Constructor Summary
Constructors Constructor Description FieldArrayDictionary(Field<T> field)
Constructor withdefault initial capacity
.FieldArrayDictionary(Field<T> field, int initialCapacity)
Constructor with specified capacity.FieldArrayDictionary(Field<T> field, Map<String,T[]> map)
Constructor from a map.FieldArrayDictionary(FieldArrayDictionary<T> dictionary)
Constructor from another dictionary.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Remove all entries.T[]
get(String key)
Get the value corresponding to a key.List<FieldArrayDictionary.Entry>
getData()
Get an unmodifiable view of the dictionary entries.FieldArrayDictionary.Entry
getEntry(String key)
Get a complete entry.Field<T>
getField()
Get the field to which elements belong.void
put(String key, double[] value)
Add an entry.void
put(String key, T[] value)
Add an entry.void
putAll(Map<String,T[]> map)
Put all the entries from the map in the dictionary.void
putAll(FieldArrayDictionary<T> dictionary)
Put all the entries from another dictionary.boolean
remove(String key)
remove an entry.int
size()
Get the number of dictionary entries.Map<String,T[]>
toMap()
Create a map from the instance.String
toString()
Get a string representation of the dictionary.FieldArrayDictionary<T>
unmodifiableView()
Get an unmodifiable view of the dictionary.
-
-
-
Constructor Detail
-
FieldArrayDictionary
public FieldArrayDictionary(Field<T> field)
Constructor withdefault initial capacity
.- Parameters:
field
- field to which the elements belong
-
FieldArrayDictionary
public FieldArrayDictionary(Field<T> field, int initialCapacity)
Constructor with specified capacity.- Parameters:
field
- field to which the elements belonginitialCapacity
- initial capacity
-
FieldArrayDictionary
public FieldArrayDictionary(FieldArrayDictionary<T> dictionary)
Constructor from another dictionary.- Parameters:
dictionary
- dictionary to use for initializing entries
-
-
Method Detail
-
getField
public Field<T> getField()
Get the field to which elements belong.- Returns:
- field to which elements belong
-
getData
public List<FieldArrayDictionary.Entry> getData()
Get an unmodifiable view of the dictionary entries.- Returns:
- unmodifiable view of the dictionary entries
-
size
public int size()
Get the number of dictionary entries.- Returns:
- number of dictionary entries
-
toMap
public Map<String,T[]> toMap()
Create a map from the instance.The map contains a copy of the instance data
- Returns:
- copy of the dictionary, as an independent map
-
clear
public void clear()
Remove all entries.
-
put
public void put(String key, T[] value)
Add an entry.If an entry with the same key already exists, it will be removed first.
The new entry is always put at the end.
- Parameters:
key
- entry keyvalue
- entry value
-
put
public void put(String key, double[] value)
Add an entry.If an entry with the same key already exists, it will be removed first.
The new entry is always put at the end.
- Parameters:
key
- entry keyvalue
- entry value
-
putAll
public void putAll(Map<String,T[]> map)
Put all the entries from the map in the dictionary.- Parameters:
map
- map to copy into the instance
-
putAll
public void putAll(FieldArrayDictionary<T> dictionary)
Put all the entries from another dictionary.- Parameters:
dictionary
- dictionary to copy into the instance
-
get
public T[] get(String key)
Get the value corresponding to a key.- Parameters:
key
- entry key- Returns:
- copy of the value corresponding to the key or null if key not present
-
getEntry
public FieldArrayDictionary.Entry getEntry(String key)
Get a complete entry.- Parameters:
key
- entry key- Returns:
- entry with key if it exists, null otherwise
-
remove
public boolean remove(String key)
remove an entry.- Parameters:
key
- key of the entry to remove- Returns:
- true if an entry has been removed, false if the key was not present
-
unmodifiableView
public FieldArrayDictionary<T> unmodifiableView()
Get an unmodifiable view of the dictionary.The return dictionary is backed by the original instance and offers
read-only
access to it, but all operations that modify it throw anUnsupportedOperationException
.- Returns:
- unmodifiable view of the dictionary
-
-