diff --git a/src/main/java/picard/fingerprint/CrosscheckFingerprints.java b/src/main/java/picard/fingerprint/CrosscheckFingerprints.java index baf95bf991..eb2b53f0fe 100644 --- a/src/main/java/picard/fingerprint/CrosscheckFingerprints.java +++ b/src/main/java/picard/fingerprint/CrosscheckFingerprints.java @@ -54,9 +54,8 @@ import java.text.NumberFormat; import java.util.ArrayList; import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -645,8 +644,8 @@ private void remapFingerprints(final Map fpMa }); if (CollectionUtil.makeSet(resultingSamples.toArray(new String[0])).size() != resultingSamples.size()) { - final Set duplicates = new HashSet<>(); - final Set unique = new HashSet<>(); + final Set duplicates = new LinkedHashSet<>(); + final Set unique = new LinkedHashSet<>(); resultingSamples.forEach(s -> { if (unique.add(s)) { duplicates.add(s); @@ -658,7 +657,7 @@ private void remapFingerprints(final Map fpMa } // replace samples with their mapped values: - final Set ids = new HashSet<>(fpMap.keySet()); + final Set ids = new LinkedHashSet<>(fpMap.keySet()); ids.forEach(id -> { // if sample isn't in sampleMap, leave it alone if (!sampleMap.containsKey(id.sample)) { @@ -699,7 +698,7 @@ private void remapFingerprintsFromFiles(final Map> fileFpDetailSetMap = fpMap.keySet().stream().collect(Collectors.groupingBy(s -> s.file)); - final Map fileSampleMap = new HashMap<>(); + final Map fileSampleMap = new LinkedHashMap<>(); // check that each file in the map points only to one sample fileFpDetailSetMap.forEach((key, fingerprintIdDetails) -> { final Set samples = fingerprintIdDetails.stream().map(id -> id.sample).collect(Collectors.toSet()); @@ -721,8 +720,8 @@ private void remapFingerprintsFromFiles(final Map duplicates = new HashSet<>(); - final Set unique = new HashSet<>(); + final Set duplicates = new LinkedHashSet<>(); + final Set unique = new LinkedHashSet<>(); resultingSamples.forEach(s -> { if (unique.add(s)) { duplicates.add(s); @@ -734,7 +733,7 @@ private void remapFingerprintsFromFiles(final Map ids = new HashSet<>(fpMap.keySet()); + final Set ids = new LinkedHashSet<>(fpMap.keySet()); ids.forEach(id -> { // if sample isn't in sampleMap, leave it alone if (!sampleMap.containsKey(id.file)) { @@ -772,7 +771,7 @@ private Map getStringStringMap(final File sampleMapFile, final S private Map getSamplePathToIndexMap(final File indexMapFile, final String inputArgumentName) { final Map indexStringMap = getStringStringMap(indexMapFile, inputArgumentName); - final HashMap indexPathMap = new LinkedHashMap(); + final LinkedHashMap indexPathMap = new LinkedHashMap(); for (Map.Entry entry: indexStringMap.entrySet()) { final Path inputPath; final Path indexPath; @@ -931,7 +930,7 @@ private int checkFingerprintsBySample(final Map sampleToDetail1 = fingerprints1BySample.keySet().stream().collect(Collectors.toMap(id -> id.group, id -> id)); final Map sampleToDetail2 = fingerprints2BySample.keySet().stream().collect(Collectors.toMap(id -> id.group, id -> id)); - Set samples = new HashSet<>(); + Set samples = new LinkedHashSet<>(); samples.addAll(sampleToDetail1.keySet()); samples.addAll(sampleToDetail2.keySet());