From 32ecc84a8e0bb1a3bc5114586d05e6beb43b7874 Mon Sep 17 00:00:00 2001 From: sleet01 Date: Mon, 22 Jul 2024 19:17:31 -0700 Subject: [PATCH 1/2] Replace enhanced for loop with explicit iterator for loop --- megamek/src/megamek/common/EquipmentType.java | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/megamek/src/megamek/common/EquipmentType.java b/megamek/src/megamek/common/EquipmentType.java index e50c6bb0b9e..3fcde20eabc 100644 --- a/megamek/src/megamek/common/EquipmentType.java +++ b/megamek/src/megamek/common/EquipmentType.java @@ -18,15 +18,7 @@ import java.io.File; import java.io.FileWriter; import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Vector; +import java.util.*; import java.util.stream.Collectors; import org.apache.logging.log4j.LogManager; @@ -552,9 +544,9 @@ public boolean hasModeType(String modeType) { return false; } - // Beware concurrent modification - for (EquipmentMode mode : modes) { - if (mode.getName().equals(modeType)) { + // Iterator iter = list.iterator(); iter.hasNext(); + for (Iterator iterator = modes.iterator(); iterator.hasNext(); ) { + if (iterator.next().getName().equals(modeType)) { return true; } } From 0785769217293e7d4cd2804522da3ad2d8e880d5 Mon Sep 17 00:00:00 2001 From: sleet01 Date: Mon, 22 Jul 2024 19:20:06 -0700 Subject: [PATCH 2/2] Funny comment --- megamek/src/megamek/common/EquipmentType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/megamek/src/megamek/common/EquipmentType.java b/megamek/src/megamek/common/EquipmentType.java index 3fcde20eabc..305d8caa10c 100644 --- a/megamek/src/megamek/common/EquipmentType.java +++ b/megamek/src/megamek/common/EquipmentType.java @@ -544,7 +544,7 @@ public boolean hasModeType(String modeType) { return false; } - // Iterator iter = list.iterator(); iter.hasNext(); + // Avoid Concurrent Modification exception with this one simple trick! for (Iterator iterator = modes.iterator(); iterator.hasNext(); ) { if (iterator.next().getName().equals(modeType)) { return true;