You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/07/09 14:09:08 UTC

[commons-collections] branch master updated: Use for-each loop

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git


The following commit(s) were added to refs/heads/master by this push:
     new 29d79003e Use for-each loop
29d79003e is described below

commit 29d79003ea73528796bed63bf81b1cc508b1f215
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sat Jul 9 10:09:02 2022 -0400

    Use for-each loop
---
 .../org/apache/commons/collections4/ListUtils.java |  4 +---
 .../org/apache/commons/collections4/MapUtils.java  | 11 +++------
 .../commons/collections4/bag/AbstractMapBag.java   | 26 +++++++---------------
 .../commons/collections4/bag/CollectionBag.java    | 17 ++++----------
 .../collections4/bag/CollectionSortedBag.java      | 17 ++++----------
 .../collections4/bidimap/AbstractDualBidiMap.java  |  5 ++---
 .../collection/CompositeCollection.java            |  4 +---
 .../commons/collections4/map/PredicatedMap.java    |  8 +------
 .../collections4/multiset/AbstractMultiSet.java    |  4 +---
 .../commons/collections4/set/CompositeSet.java     |  4 +---
 10 files changed, 26 insertions(+), 74 deletions(-)

diff --git a/src/main/java/org/apache/commons/collections4/ListUtils.java b/src/main/java/org/apache/commons/collections4/ListUtils.java
index 2e94515a6..8e95711fb 100644
--- a/src/main/java/org/apache/commons/collections4/ListUtils.java
+++ b/src/main/java/org/apache/commons/collections4/ListUtils.java
@@ -221,10 +221,8 @@ public class ListUtils {
             return 0;
         }
         int hashCode = 1;
-        final Iterator<?> it = list.iterator();
 
-        while (it.hasNext()) {
-            final Object obj = it.next();
+        for (final Object obj : list) {
             hashCode = 31 * hashCode + (obj == null ? 0 : obj.hashCode());
         }
         return hashCode;
diff --git a/src/main/java/org/apache/commons/collections4/MapUtils.java b/src/main/java/org/apache/commons/collections4/MapUtils.java
index 5318c2eac..1f4554045 100644
--- a/src/main/java/org/apache/commons/collections4/MapUtils.java
+++ b/src/main/java/org/apache/commons/collections4/MapUtils.java
@@ -25,10 +25,9 @@ import java.util.Collections;
 import java.util.Deque;
 import java.util.Enumeration;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
-import java.util.Objects;
 import java.util.Map.Entry;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.ResourceBundle;
 import java.util.SortedMap;
@@ -1497,9 +1496,7 @@ public class MapUtils {
      */
     public static <K, V, E> void populateMap(final Map<K, V> map, final Iterable<? extends E> elements,
             final Transformer<E, K> keyTransformer, final Transformer<E, V> valueTransformer) {
-        final Iterator<? extends E> iter = elements.iterator();
-        while (iter.hasNext()) {
-            final E temp = iter.next();
+        for (final E temp : elements) {
             map.put(keyTransformer.transform(temp), valueTransformer.transform(temp));
         }
     }
@@ -1534,9 +1531,7 @@ public class MapUtils {
      */
     public static <K, V, E> void populateMap(final MultiMap<K, V> map, final Iterable<? extends E> elements,
             final Transformer<E, K> keyTransformer, final Transformer<E, V> valueTransformer) {
-        final Iterator<? extends E> iter = elements.iterator();
-        while (iter.hasNext()) {
-            final E temp = iter.next();
+        for (final E temp : elements) {
             map.put(keyTransformer.transform(temp), valueTransformer.transform(temp));
         }
     }
diff --git a/src/main/java/org/apache/commons/collections4/bag/AbstractMapBag.java b/src/main/java/org/apache/commons/collections4/bag/AbstractMapBag.java
index b869837ca..ef0f7bdbe 100644
--- a/src/main/java/org/apache/commons/collections4/bag/AbstractMapBag.java
+++ b/src/main/java/org/apache/commons/collections4/bag/AbstractMapBag.java
@@ -150,9 +150,7 @@ public abstract class AbstractMapBag<E> implements Bag<E> {
      * @return {@code true} if the Bag contains all the collection
      */
     boolean containsAll(final Bag<?> other) {
-        final Iterator<?> it = other.uniqueSet().iterator();
-        while (it.hasNext()) {
-            final Object current = it.next();
+        for (Object current : other.uniqueSet()) {
             if (getCount(current) < other.getCount(current)) {
                 return false;
             }
@@ -278,9 +276,8 @@ public abstract class AbstractMapBag<E> implements Bag<E> {
     @Override
     public boolean addAll(final Collection<? extends E> coll) {
         boolean changed = false;
-        final Iterator<? extends E> i = coll.iterator();
-        while (i.hasNext()) {
-            final boolean added = add(i.next());
+        for (final E current : coll) {
+            final boolean added = add(current);
             changed = changed || added;
         }
         return changed;
@@ -352,9 +349,8 @@ public abstract class AbstractMapBag<E> implements Bag<E> {
     public boolean removeAll(final Collection<?> coll) {
         boolean result = false;
         if (coll != null) {
-            final Iterator<?> i = coll.iterator();
-            while (i.hasNext()) {
-                final boolean changed = remove(i.next(), 1);
+            for (final Object current : coll) {
+                final boolean changed = remove(current, 1);
                 result = result || changed;
             }
         }
@@ -387,9 +383,7 @@ public abstract class AbstractMapBag<E> implements Bag<E> {
     boolean retainAll(final Bag<?> other) {
         boolean result = false;
         final Bag<E> excess = new HashBag<>();
-        final Iterator<E> i = uniqueSet().iterator();
-        while (i.hasNext()) {
-            final E current = i.next();
+        for (final E current : uniqueSet()) {
             final int myCount = getCount(current);
             final int otherCount = other.getCount(current);
             if (1 <= otherCount && otherCount <= myCount) {
@@ -442,9 +436,7 @@ public abstract class AbstractMapBag<E> implements Bag<E> {
     public Object[] toArray() {
         final Object[] result = new Object[size()];
         int i = 0;
-        final Iterator<E> it = map.keySet().iterator();
-        while (it.hasNext()) {
-            final E current = it.next();
+        for (final E current : map.keySet()) {
             for (int index = getCount(current); index > 0; index--) {
                 result[i++] = current;
             }
@@ -474,9 +466,7 @@ public abstract class AbstractMapBag<E> implements Bag<E> {
         }
 
         int i = 0;
-        final Iterator<E> it = map.keySet().iterator();
-        while (it.hasNext()) {
-            final E current = it.next();
+        for (final E current : map.keySet()) {
             for (int index = getCount(current); index > 0; index--) {
                 // unsafe, will throw ArrayStoreException if types are not compatible, see javadoc
                 @SuppressWarnings("unchecked")
diff --git a/src/main/java/org/apache/commons/collections4/bag/CollectionBag.java b/src/main/java/org/apache/commons/collections4/bag/CollectionBag.java
index 9c325cb0c..560cc134f 100644
--- a/src/main/java/org/apache/commons/collections4/bag/CollectionBag.java
+++ b/src/main/java/org/apache/commons/collections4/bag/CollectionBag.java
@@ -105,13 +105,7 @@ public final class CollectionBag<E> extends AbstractBagDecorator<E> {
      */
     @Override
     public boolean containsAll(final Collection<?> coll) {
-        final Iterator<?> e = coll.iterator();
-        while (e.hasNext()) {
-            if (!contains(e.next())) {
-                return false;
-            }
-        }
-        return true;
+        return coll.stream().allMatch(this::contains);
     }
 
     /**
@@ -132,9 +126,8 @@ public final class CollectionBag<E> extends AbstractBagDecorator<E> {
     @Override
     public boolean addAll(final Collection<? extends E> coll) {
         boolean changed = false;
-        final Iterator<? extends E> i = coll.iterator();
-        while (i.hasNext()) {
-            final boolean added = add(i.next(), 1);
+        for (final E current : coll) {
+            final boolean added = add(current, 1);
             changed = changed || added;
         }
         return changed;
@@ -168,9 +161,7 @@ public final class CollectionBag<E> extends AbstractBagDecorator<E> {
     public boolean removeAll(final Collection<?> coll) {
         if (coll != null) {
             boolean result = false;
-            final Iterator<?> i = coll.iterator();
-            while (i.hasNext()) {
-                final Object obj = i.next();
+            for (final Object obj : coll) {
                 final boolean changed = remove(obj, getCount(obj));
                 result = result || changed;
             }
diff --git a/src/main/java/org/apache/commons/collections4/bag/CollectionSortedBag.java b/src/main/java/org/apache/commons/collections4/bag/CollectionSortedBag.java
index 3601e324d..917f8af67 100644
--- a/src/main/java/org/apache/commons/collections4/bag/CollectionSortedBag.java
+++ b/src/main/java/org/apache/commons/collections4/bag/CollectionSortedBag.java
@@ -86,13 +86,7 @@ public final class CollectionSortedBag<E> extends AbstractSortedBagDecorator<E>
 
     @Override
     public boolean containsAll(final Collection<?> coll) {
-        final Iterator<?> e = coll.iterator();
-        while (e.hasNext()) {
-            if (!contains(e.next())) {
-                return false;
-            }
-        }
-        return true;
+        return coll.stream().allMatch(this::contains);
     }
 
     @Override
@@ -103,9 +97,8 @@ public final class CollectionSortedBag<E> extends AbstractSortedBagDecorator<E>
     @Override
     public boolean addAll(final Collection<? extends E> coll) {
         boolean changed = false;
-        final Iterator<? extends E> i = coll.iterator();
-        while (i.hasNext()) {
-            final boolean added = add(i.next(), 1);
+        for (final E current : coll) {
+            final boolean added = add(current, 1);
             changed = changed || added;
         }
         return changed;
@@ -120,9 +113,7 @@ public final class CollectionSortedBag<E> extends AbstractSortedBagDecorator<E>
     public boolean removeAll(final Collection<?> coll) {
         if (coll != null) {
             boolean result = false;
-            final Iterator<?> i = coll.iterator();
-            while (i.hasNext()) {
-                final Object obj = i.next();
+            for (final Object obj : coll) {
                 final boolean changed = remove(obj, getCount(obj));
                 result = result || changed;
             }
diff --git a/src/main/java/org/apache/commons/collections4/bidimap/AbstractDualBidiMap.java b/src/main/java/org/apache/commons/collections4/bidimap/AbstractDualBidiMap.java
index b8060574c..e0d400b46 100644
--- a/src/main/java/org/apache/commons/collections4/bidimap/AbstractDualBidiMap.java
+++ b/src/main/java/org/apache/commons/collections4/bidimap/AbstractDualBidiMap.java
@@ -389,9 +389,8 @@ public abstract class AbstractDualBidiMap<K, V> implements BidiMap<K, V> {
                 return false;
             }
             boolean modified = false;
-            final Iterator<?> it = coll.iterator();
-            while (it.hasNext()) {
-                modified |= remove(it.next());
+            for (final Object current : coll) {
+                modified |= remove(current);
             }
             return modified;
         }
diff --git a/src/main/java/org/apache/commons/collections4/collection/CompositeCollection.java b/src/main/java/org/apache/commons/collections4/collection/CompositeCollection.java
index 1707dd780..fb06720e9 100644
--- a/src/main/java/org/apache/commons/collections4/collection/CompositeCollection.java
+++ b/src/main/java/org/apache/commons/collections4/collection/CompositeCollection.java
@@ -153,9 +153,7 @@ public class CompositeCollection<E> implements Collection<E>, Serializable {
             return EmptyIterator.<E>emptyIterator();
         }
         final IteratorChain<E> chain = new IteratorChain<>();
-        for (final Collection<E> item : all) {
-            chain.addIterator(item.iterator());
-        }
+        all.forEach(item -> chain.addIterator(item.iterator()));
         return chain;
     }
 
diff --git a/src/main/java/org/apache/commons/collections4/map/PredicatedMap.java b/src/main/java/org/apache/commons/collections4/map/PredicatedMap.java
index bef80d8ff..8403b7ae7 100644
--- a/src/main/java/org/apache/commons/collections4/map/PredicatedMap.java
+++ b/src/main/java/org/apache/commons/collections4/map/PredicatedMap.java
@@ -20,7 +20,6 @@ import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
-import java.util.Iterator;
 import java.util.Map;
 
 import org.apache.commons.collections4.Predicate;
@@ -99,12 +98,7 @@ public class PredicatedMap<K, V>
         super(map);
         this.keyPredicate = keyPredicate;
         this.valuePredicate = valuePredicate;
-
-        final Iterator<Map.Entry<K, V>> it = map.entrySet().iterator();
-        while (it.hasNext()) {
-            final Map.Entry<K, V> entry = it.next();
-            validate(entry.getKey(), entry.getValue());
-        }
+        map.forEach(this::validate);
     }
 
     /**
diff --git a/src/main/java/org/apache/commons/collections4/multiset/AbstractMultiSet.java b/src/main/java/org/apache/commons/collections4/multiset/AbstractMultiSet.java
index fc7babb60..40c8629ad 100644
--- a/src/main/java/org/apache/commons/collections4/multiset/AbstractMultiSet.java
+++ b/src/main/java/org/apache/commons/collections4/multiset/AbstractMultiSet.java
@@ -211,9 +211,7 @@ public abstract class AbstractMultiSet<E> extends AbstractCollection<E> implemen
     @Override
     public boolean removeAll(final Collection<?> coll) {
         boolean result = false;
-        final Iterator<?> i = coll.iterator();
-        while (i.hasNext()) {
-            final Object obj = i.next();
+        for (final Object obj : coll) {
             final boolean changed = remove(obj, getCount(obj)) != 0;
             result = result || changed;
         }
diff --git a/src/main/java/org/apache/commons/collections4/set/CompositeSet.java b/src/main/java/org/apache/commons/collections4/set/CompositeSet.java
index 25df97e13..1fa72dc8b 100644
--- a/src/main/java/org/apache/commons/collections4/set/CompositeSet.java
+++ b/src/main/java/org/apache/commons/collections4/set/CompositeSet.java
@@ -152,9 +152,7 @@ public class CompositeSet<E> implements Set<E>, Serializable {
             return EmptyIterator.<E>emptyIterator();
         }
         final IteratorChain<E> chain = new IteratorChain<>();
-        for (final Set<E> item : all) {
-            chain.addIterator(item.iterator());
-        }
+        all.forEach(item -> chain.addIterator(item.iterator()));
         return chain;
     }