Compare commits
2 Commits
eab0db8e40
...
8f6320e069
| Author | SHA1 | Date | |
|---|---|---|---|
| 8f6320e069 | |||
| d718ba90e3 |
@@ -113,4 +113,21 @@ public class Aufgabe6Test {
|
|||||||
}
|
}
|
||||||
assertEquals(12, count);
|
assertEquals(12, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIterator() {
|
||||||
|
NamedBody sun1, mercury1, venus1;
|
||||||
|
sun1 = new NamedBody(SolSystem4.SUN_NAMED);
|
||||||
|
mercury1 = new NamedBody(SolSystem4.MERCURY_NAMED);
|
||||||
|
venus1 = new NamedBody(SolSystem4.VENUS_NAMED);
|
||||||
|
|
||||||
|
MassiveForceTreeMap map = new MassiveForceTreeMap();
|
||||||
|
|
||||||
|
map.put(sun1, new Vector3());
|
||||||
|
map.put(mercury1, new Vector3());
|
||||||
|
map.put(venus1, new Vector3());
|
||||||
|
for (Massive m : map.getKeys().toList()) {
|
||||||
|
System.out.println(m);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -138,15 +138,13 @@ public class HierarchicalSystem implements CosmicSystem, MassiveIterable {
|
|||||||
public Massive next() {
|
public Massive next() {
|
||||||
if (cur != null && cur.hasNext()) return cur.next();
|
if (cur != null && cur.hasNext()) return cur.next();
|
||||||
|
|
||||||
for (; i < all.length; i++) {
|
while (i < all.length) {
|
||||||
CosmicSystem sys = all[i];
|
CosmicSystem sys = all[i++];
|
||||||
if (sys instanceof NamedBodyForcePair m) {
|
if (sys instanceof NamedBodyForcePair m) {
|
||||||
i++;
|
|
||||||
return m.getBody();
|
return m.getBody();
|
||||||
} else if (sys instanceof HierarchicalSystem hs) {
|
} else if (sys instanceof HierarchicalSystem hs) {
|
||||||
cur = hs.iterator();
|
cur = hs.iterator();
|
||||||
if (cur.hasNext()) {
|
if (cur.hasNext()) {
|
||||||
i++;
|
|
||||||
return cur.next();
|
return cur.next();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -159,14 +157,14 @@ public class HierarchicalSystem implements CosmicSystem, MassiveIterable {
|
|||||||
public boolean hasNext() {
|
public boolean hasNext() {
|
||||||
if (cur != null && cur.hasNext()) return true;
|
if (cur != null && cur.hasNext()) return true;
|
||||||
|
|
||||||
for (; i < all.length; i++) {
|
while (i < all.length) {
|
||||||
CosmicSystem sys = all[i];
|
CosmicSystem sys = all[i];
|
||||||
if (sys instanceof NamedBodyForcePair) {
|
if (sys instanceof NamedBodyForcePair) return true;
|
||||||
return true;
|
i++;
|
||||||
} else if (sys instanceof HierarchicalSystem hs) {
|
|
||||||
|
if (sys instanceof HierarchicalSystem hs) {
|
||||||
cur = hs.iterator();
|
cur = hs.iterator();
|
||||||
if (cur.hasNext()) {
|
if (cur.hasNext()) {
|
||||||
i++;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import java.util.Iterator;
|
|||||||
* A list of massive objects implemented as a linked list.
|
* A list of massive objects implemented as a linked list.
|
||||||
* The number of elements of the list is not limited.
|
* The number of elements of the list is not limited.
|
||||||
*/
|
*/
|
||||||
public class MassiveLinkedList implements Iterable<Massive> {
|
public class MassiveLinkedList implements MassiveIterable {
|
||||||
private int size = 0;
|
private int size = 0;
|
||||||
private Item first;
|
private Item first;
|
||||||
private Item last;
|
private Item last;
|
||||||
@@ -172,8 +172,8 @@ public class MassiveLinkedList implements Iterable<Massive> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Iterator<Massive> iterator() {
|
public MassiveIterator iterator() {
|
||||||
return new Iterator<>() {
|
return new MassiveIterator() {
|
||||||
Item ptr = first;
|
Item ptr = first;
|
||||||
boolean yieldedFirst = false;
|
boolean yieldedFirst = false;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user