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;
}