View Javadoc
1   package org.djunits.demo.examples;
2   
3   import java.util.SortedMap;
4   import java.util.TreeMap;
5   
6   import org.djunits.unit.SpeedUnit;
7   import org.djunits.unit.TimeUnit;
8   import org.djunits.value.StorageType;
9   import org.djunits.value.ValueException;
10  import org.djunits.value.vdouble.scalar.Speed;
11  import org.djunits.value.vdouble.scalar.Time;
12  import org.djunits.value.vdouble.vector.SpeedVector;
13  import org.djunits.value.vdouble.vector.TimeVector;
14  import org.djunits.value.vfloat.scalar.FloatSpeed;
15  import org.djunits.value.vfloat.scalar.FloatTime;
16  import org.djunits.value.vfloat.vector.FloatSpeedVector;
17  import org.djunits.value.vfloat.vector.FloatTimeVector;
18  
19  /**
20   * <p>
21   * Copyright (c) 2013-2018 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
22   * BSD-style license. See <a href="http://opentrafficsim.org/docs/current/license.html">OpenTrafficSim License</a>.
23   * </p>
24   * $LastChangedDate: 2015-07-24 02:58:59 +0200 (Fri, 24 Jul 2015) $, @version $Revision: 1147 $, by $Author: averbraeck $,
25   * initial version Jan 28, 2018 <br>
26   * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a>
27   * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a>
28   * @author <a href="http://www.transport.citg.tudelft.nl">Wouter Schakel</a>
29   */
30  public final class VectorIteratorExample
31  {
32      /** Utility constructor. */
33      private VectorIteratorExample()
34      {
35          //
36      }
37  
38      /**
39       * @param args the arguments for the main program, not used
40       * @throws ValueException on vector error
41       */
42      public static void main(final String[] args) throws ValueException
43      {
44          showDoubleIterator();
45          showFloatIterator();
46      }
47  
48      /**
49       * double iterator example.
50       * @throws ValueException on error
51       */
52      private static void showDoubleIterator() throws ValueException
53      {
54          Speed s1 = new Speed(10.0, SpeedUnit.METER_PER_SECOND);
55          Speed s2 = new Speed(12.0, SpeedUnit.METER_PER_SECOND);
56          Speed s3 = new Speed(8.0, SpeedUnit.METER_PER_SECOND);
57          Speed s4 = new Speed(16.0, SpeedUnit.METER_PER_SECOND);
58          SpeedVector svd = new SpeedVector(new Speed[] { s1, s2, s3, s4 }, StorageType.DENSE);
59          System.out.println("Speed vector (Double, Rel, Dense)");
60          for (Speed s : svd)
61          {
62              System.out.println(s);
63          }
64  
65          SortedMap<Integer, Speed> svsMap = new TreeMap<>();
66          svsMap.put(1, s1);
67          svsMap.put(3, s2);
68          svsMap.put(5, s3);
69          svsMap.put(7, s4);
70          SpeedVector svs = new SpeedVector(svsMap, 10, StorageType.SPARSE);
71          System.out.println("\nSpeed vector (Double, Rel, Sparse)");
72          for (Speed s : svs)
73          {
74              System.out.println(s);
75          }
76  
77          Time t1 = new Time(10.0, TimeUnit.BASE_SECOND);
78          Time t2 = new Time(12.0, TimeUnit.BASE_SECOND);
79          Time t3 = new Time(8.0, TimeUnit.BASE_SECOND);
80          Time t4 = new Time(16.0, TimeUnit.BASE_SECOND);
81          TimeVector tvd = new TimeVector(new Time[] { t1, t2, t3, t4 }, StorageType.DENSE);
82          System.out.println("\nTime vector (Double, Abs, Dense)");
83          for (Time t : tvd)
84          {
85              System.out.println(t);
86          }
87  
88          SortedMap<Integer, Time> tvsMap = new TreeMap<>();
89          tvsMap.put(1, t1);
90          tvsMap.put(3, t2);
91          tvsMap.put(5, t3);
92          tvsMap.put(7, t4);
93          TimeVector tvs = new TimeVector(tvsMap, 10, StorageType.SPARSE);
94          System.out.println("\nTime vector (Double, Abs, Sparse)");
95          for (Time t : tvs)
96          {
97              System.out.println(t);
98          }
99      }
100 
101     /**
102      * float iterator example.
103      * @throws ValueException on error
104      */
105     private static void showFloatIterator() throws ValueException
106     {
107         FloatSpeed s1 = new FloatSpeed(10.0, SpeedUnit.METER_PER_SECOND);
108         FloatSpeed s2 = new FloatSpeed(12.0, SpeedUnit.METER_PER_SECOND);
109         FloatSpeed s3 = new FloatSpeed(8.0, SpeedUnit.METER_PER_SECOND);
110         FloatSpeed s4 = new FloatSpeed(16.0, SpeedUnit.METER_PER_SECOND);
111         FloatSpeedVector svd = new FloatSpeedVector(new FloatSpeed[] { s1, s2, s3, s4 }, StorageType.DENSE);
112         System.out.println("\nFloatSpeed vector (Float, Rel, Dense)");
113         for (FloatSpeed s : svd)
114         {
115             System.out.println(s);
116         }
117 
118         SortedMap<Integer, FloatSpeed> svsMap = new TreeMap<>();
119         svsMap.put(1, s1);
120         svsMap.put(3, s2);
121         svsMap.put(5, s3);
122         svsMap.put(7, s4);
123         FloatSpeedVector svs = new FloatSpeedVector(svsMap, 10, StorageType.SPARSE);
124         System.out.println("\nSpeed vector (Float, Rel, Sparse)");
125         for (FloatSpeed s : svs)
126         {
127             System.out.println(s);
128         }
129 
130         FloatTime t1 = new FloatTime(10.0f, TimeUnit.BASE_SECOND);
131         FloatTime t2 = new FloatTime(12.0f, TimeUnit.BASE_SECOND);
132         FloatTime t3 = new FloatTime(8.0f, TimeUnit.BASE_SECOND);
133         FloatTime t4 = new FloatTime(16.0f, TimeUnit.BASE_SECOND);
134         FloatTimeVector tvd = new FloatTimeVector(new FloatTime[] { t1, t2, t3, t4 }, StorageType.DENSE);
135         System.out.println("\nFloatTime vector (Float, Abs, Dense)");
136         for (FloatTime t : tvd)
137         {
138             System.out.println(t);
139         }
140 
141         SortedMap<Integer, FloatTime> tvsMap = new TreeMap<>();
142         tvsMap.put(1, t1);
143         tvsMap.put(3, t2);
144         tvsMap.put(5, t3);
145         tvsMap.put(7, t4);
146         FloatTimeVector tvs = new FloatTimeVector(tvsMap, 10, StorageType.SPARSE);
147         System.out.println("\nFloatTime vector (Float, Abs, Sparse)");
148         for (FloatTime t : tvs)
149         {
150             System.out.println(t);
151         }
152 
153     }
154 
155 }