mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
remove expensive set from activities
This commit is contained in:
parent
e5bc5f87cb
commit
e25b61cac4
1 changed files with 2 additions and 21 deletions
|
|
@ -66,36 +66,20 @@ public class TourActivities {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static TourActivities emptyTour() {
|
|
||||||
return new TourActivities();
|
|
||||||
}
|
|
||||||
|
|
||||||
private final ArrayList<TourActivity> tourActivities = new ArrayList<TourActivity>();
|
private final ArrayList<TourActivity> tourActivities = new ArrayList<TourActivity>();
|
||||||
|
|
||||||
private final Set<Job> jobs = new HashSet<Job>();
|
private final Set<Job> jobs = new HashSet<Job>();
|
||||||
|
|
||||||
private final Set<TourActivity> activities = new HashSet<TourActivity>();
|
|
||||||
|
|
||||||
private ReverseActivityIterator backward;
|
private ReverseActivityIterator backward;
|
||||||
|
|
||||||
private TourActivities(TourActivities tour2copy) {
|
private TourActivities(TourActivities tour2copy) {
|
||||||
for (TourActivity tourAct : tour2copy.getActivities()) {
|
for (TourActivity tourAct : tour2copy.getActivities()) {
|
||||||
TourActivity newAct = tourAct.duplicate();
|
TourActivity newAct = tourAct.duplicate();
|
||||||
this.tourActivities.add(newAct);
|
this.tourActivities.add(newAct);
|
||||||
addToActivitySet(newAct);
|
|
||||||
addJob(newAct);
|
addJob(newAct);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addToActivitySet(TourActivity newAct) {
|
|
||||||
activities.add(newAct);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void removeFromActivitySet(TourActivity act) {
|
|
||||||
activities.remove(act);
|
|
||||||
}
|
|
||||||
|
|
||||||
public TourActivities() {
|
public TourActivities() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -148,7 +132,6 @@ public class TourActivities {
|
||||||
if (c instanceof JobActivity) {
|
if (c instanceof JobActivity) {
|
||||||
if (job.equals(((JobActivity) c).getJob())) {
|
if (job.equals(((JobActivity) c).getJob())) {
|
||||||
tourActivities.remove(c);
|
tourActivities.remove(c);
|
||||||
removeFromActivitySet(c);
|
|
||||||
activityRemoved = true;
|
activityRemoved = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -163,8 +146,9 @@ public class TourActivities {
|
||||||
* @param activity to be looked up
|
* @param activity to be looked up
|
||||||
* @return true if this contains specified activity, false otherwise
|
* @return true if this contains specified activity, false otherwise
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public boolean hasActivity(TourActivity activity) {
|
public boolean hasActivity(TourActivity activity) {
|
||||||
return activities.contains(activity);
|
return tourActivities.contains(activity);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -185,7 +169,6 @@ public class TourActivities {
|
||||||
for (TourActivity act : acts) {
|
for (TourActivity act : acts) {
|
||||||
if (act == activity) {
|
if (act == activity) {
|
||||||
tourActivities.remove(act);
|
tourActivities.remove(act);
|
||||||
removeFromActivitySet(act);
|
|
||||||
actRemoved = true;
|
actRemoved = true;
|
||||||
} else {
|
} else {
|
||||||
if (act instanceof JobActivity && job != null) {
|
if (act instanceof JobActivity && job != null) {
|
||||||
|
|
@ -228,7 +211,6 @@ public class TourActivities {
|
||||||
} else if (insertionIndex >= tourActivities.size()) {
|
} else if (insertionIndex >= tourActivities.size()) {
|
||||||
tourActivities.add(act);
|
tourActivities.add(act);
|
||||||
}
|
}
|
||||||
addToActivitySet(act);
|
|
||||||
addJob(act);
|
addJob(act);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -243,7 +225,6 @@ public class TourActivities {
|
||||||
if (tourActivities.contains(act))
|
if (tourActivities.contains(act))
|
||||||
throw new IllegalStateException("act " + act + " already in tour. cannot add act twice.");
|
throw new IllegalStateException("act " + act + " already in tour. cannot add act twice.");
|
||||||
tourActivities.add(act);
|
tourActivities.add(act);
|
||||||
addToActivitySet(act);
|
|
||||||
addJob(act);
|
addJob(act);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue