1 package org.djunits.value.vdouble.vector;
2
3 import java.util.List;
4 import java.util.SortedMap;
5
6 import org.djunits.unit.LengthUnit;
7 import org.djunits.value.StorageType;
8 import org.djunits.value.ValueException;
9 import org.djunits.value.vdouble.scalar.Length;
10
11
12
13
14
15
16
17
18
19
20
21
22 public class MutableLengthVector extends AbstractMutableDoubleVectorRel<LengthUnit, LengthVector, MutableLengthVector, Length>
23 {
24
25 private static final long serialVersionUID = 20151006L;
26
27
28
29
30
31
32
33
34 public MutableLengthVector(final double[] values, final LengthUnit unit, final StorageType storageType)
35 throws ValueException
36 {
37 super(values, unit, storageType);
38 }
39
40
41
42
43
44
45
46
47 public MutableLengthVector(final List<Double> values, final LengthUnit unit, final StorageType storageType)
48 throws ValueException
49 {
50 super(values, unit, storageType);
51 }
52
53
54
55
56
57
58
59 public MutableLengthVector(final Length[] values, final StorageType storageType) throws ValueException
60 {
61 super(values, storageType);
62 }
63
64
65
66
67
68
69
70 public MutableLengthVector(final List<Length> values, final StorageType storageType) throws ValueException
71 {
72 super(values, storageType);
73 }
74
75
76
77
78
79
80
81
82
83 public MutableLengthVector(final SortedMap<Integer, Length> values, final int length, final StorageType storageType)
84 throws ValueException
85 {
86 super(values, length, storageType);
87 }
88
89
90
91
92
93
94
95
96
97 public MutableLengthVector(final SortedMap<Integer, Double> values, final LengthUnit unit, final int length,
98 final StorageType storageType) throws ValueException
99 {
100 super(values, unit, length, storageType);
101 }
102
103
104
105
106
107
108 MutableLengthVector(final DoubleVectorData data, final LengthUnit unit)
109 {
110 super(data, unit);
111 }
112
113
114 @Override
115 protected final LengthVector instantiateType(final DoubleVectorData dvd, final LengthUnit unit)
116 {
117 return new LengthVector(dvd, unit);
118 }
119
120
121 @Override
122 protected final MutableLengthVector instantiateMutableType(final DoubleVectorData dvd, final LengthUnit unit)
123 {
124 return new MutableLengthVector(dvd, unit);
125 }
126
127
128 @Override
129 protected final Length instantiateScalar(final double value, final LengthUnit unit)
130 {
131 return new Length(value, unit);
132 }
133
134
135 @Override
136 public final MutableLengthVector toDense()
137 {
138 return this.data.isDense() ? (MutableLengthVector) this : instantiateMutableType(this.data.toDense(), getUnit());
139 }
140
141
142 @Override
143 public final MutableLengthVector toSparse()
144 {
145 return this.data.isSparse() ? (MutableLengthVector) this : instantiateMutableType(this.data.toSparse(), getUnit());
146 }
147
148
149
150
151
152
153 public Length[] toArray()
154 {
155 Length[] array = new Length[size()];
156 for (int i = 0; i < size(); i++)
157 {
158 try
159 {
160 array[i] = get(i);
161 }
162 catch (ValueException exception)
163 {
164 throw new RuntimeException(exception);
165 }
166 }
167 return array;
168 }
169
170 }