From 31877c0f2d8546af710a4692dc53f2ac2725f8f4 Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Wed, 2 Sep 2015 08:23:46 +0000 Subject: [PATCH] Small refactoring in DTMCExplicit: cleaner implementation of iterator. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@10605 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/explicit/DTMCExplicit.java | 31 +++++++--------------------- 1 file changed, 7 insertions(+), 24 deletions(-) diff --git a/prism/src/explicit/DTMCExplicit.java b/prism/src/explicit/DTMCExplicit.java index 76e5d670..3982e5c5 100644 --- a/prism/src/explicit/DTMCExplicit.java +++ b/prism/src/explicit/DTMCExplicit.java @@ -28,6 +28,7 @@ package explicit; import java.io.FileWriter; import java.io.IOException; +import java.util.AbstractMap; import java.util.BitSet; import java.util.Iterator; import java.util.Map; @@ -181,8 +182,8 @@ public abstract class DTMCExplicit extends ModelExplicit implements DTMC result[s] = mvMultRewSingle(s, vect, mcRewards); } } - - public class AddDefaultActionToTransitionsIterator implements Iterator>> + + public class AddDefaultActionToTransitionsIterator implements Iterator>> { private Iterator> transIter; private Object defaultAction; @@ -198,27 +199,9 @@ public abstract class DTMCExplicit extends ModelExplicit implements DTMC public Entry> next() { next = transIter.next(); - Entry> next2 = new Entry>() - { - @Override - public Pair setValue(Pair value) - { - return null; // read-only - } - - @Override - public Pair getValue() - { - return new Pair(next.getValue(), defaultAction); - } - - @Override - public Integer getKey() - { - return next.getKey(); - } - }; - return next2; + final Integer state = next.getKey(); + final Double probability = next.getValue(); + return new AbstractMap.SimpleImmutableEntry<>(state, new Pair<>(probability, defaultAction)); } @Override @@ -226,7 +209,7 @@ public abstract class DTMCExplicit extends ModelExplicit implements DTMC { return transIter.hasNext(); } - + @Override public void remove() {