From e25b61cac44c88682263258cf6552a5d0f472f72 Mon Sep 17 00:00:00 2001 From: oblonski Date: Sat, 26 Sep 2015 15:06:40 +0200 Subject: [PATCH] remove expensive set from activities --- .../route/activity/TourActivities.java | 23 ++----------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/TourActivities.java b/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/TourActivities.java index 768559a0..5217a85b 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/TourActivities.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/solution/route/activity/TourActivities.java @@ -66,36 +66,20 @@ public class TourActivities { } } - - public static TourActivities emptyTour() { - return new TourActivities(); - } - private final ArrayList tourActivities = new ArrayList(); private final Set jobs = new HashSet(); - private final Set activities = new HashSet(); - private ReverseActivityIterator backward; private TourActivities(TourActivities tour2copy) { for (TourActivity tourAct : tour2copy.getActivities()) { TourActivity newAct = tourAct.duplicate(); this.tourActivities.add(newAct); - addToActivitySet(newAct); addJob(newAct); } } - private void addToActivitySet(TourActivity newAct) { - activities.add(newAct); - } - - private void removeFromActivitySet(TourActivity act) { - activities.remove(act); - } - public TourActivities() { } @@ -148,7 +132,6 @@ public class TourActivities { if (c instanceof JobActivity) { if (job.equals(((JobActivity) c).getJob())) { tourActivities.remove(c); - removeFromActivitySet(c); activityRemoved = true; } } @@ -163,8 +146,9 @@ public class TourActivities { * @param activity to be looked up * @return true if this contains specified activity, false otherwise */ + @Deprecated public boolean hasActivity(TourActivity activity) { - return activities.contains(activity); + return tourActivities.contains(activity); } /** @@ -185,7 +169,6 @@ public class TourActivities { for (TourActivity act : acts) { if (act == activity) { tourActivities.remove(act); - removeFromActivitySet(act); actRemoved = true; } else { if (act instanceof JobActivity && job != null) { @@ -228,7 +211,6 @@ public class TourActivities { } else if (insertionIndex >= tourActivities.size()) { tourActivities.add(act); } - addToActivitySet(act); addJob(act); } @@ -243,7 +225,6 @@ public class TourActivities { if (tourActivities.contains(act)) throw new IllegalStateException("act " + act + " already in tour. cannot add act twice."); tourActivities.add(act); - addToActivitySet(act); addJob(act); }