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 2025/06/12 15:28:09 UTC
(commons-lang) branch master updated (377fb06c0 -> 4b08ed57a)
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/commons-lang.git
from 377fb06c0 Javadoc
new ba8b34a2b Refactor internals for some removeElement() methods
new e7bf20555 Javadoc: Internal method doesn't need @since tag
new 4b08ed57a Rename internal method to remove type casts
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../java/org/apache/commons/lang3/ArrayUtils.java | 134 +++++++--------------
.../java/org/apache/commons/lang3/ObjectUtils.java | 7 +-
.../apache/commons/lang3/HashSetvBitSetTest.java | 2 +-
3 files changed, 44 insertions(+), 99 deletions(-)
(commons-lang) 03/03: Rename internal method to remove type casts
Posted by gg...@apache.org.
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-lang.git
commit 4b08ed57a0ff654d56783f9e9bda22097b30fedd
Author: Gary D. Gregory <ga...@gmail.com>
AuthorDate: Thu Jun 12 11:28:03 2025 -0400
Rename internal method to remove type casts
---
.../java/org/apache/commons/lang3/ArrayUtils.java | 56 +++++++++++-----------
.../apache/commons/lang3/HashSetvBitSetTest.java | 2 +-
2 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/src/main/java/org/apache/commons/lang3/ArrayUtils.java b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
index ae3ab4a60..c2541cc25 100644
--- a/src/main/java/org/apache/commons/lang3/ArrayUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
@@ -5308,7 +5308,7 @@ public static long[] removeAll(final long[] array, final int... indices) {
* @return new array of same type minus elements specified by the set bits in {@code indices}.
*/
// package protected for access by unit tests
- static Object removeAll(final Object array, final BitSet indices) {
+ static Object removeAt(final Object array, final BitSet indices) {
if (array == null) {
return null;
}
@@ -5475,7 +5475,7 @@ public static <T> T[] removeAll(final T[] array, final int... indices) {
*/
@Deprecated
public static boolean[] removeAllOccurences(final boolean[] array, final boolean element) {
- return (boolean[]) removeAll((Object) array, indexesOf(array, element));
+ return (boolean[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5494,7 +5494,7 @@ public static boolean[] removeAllOccurences(final boolean[] array, final boolean
*/
@Deprecated
public static byte[] removeAllOccurences(final byte[] array, final byte element) {
- return (byte[]) removeAll((Object) array, indexesOf(array, element));
+ return (byte[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5513,7 +5513,7 @@ public static byte[] removeAllOccurences(final byte[] array, final byte element)
*/
@Deprecated
public static char[] removeAllOccurences(final char[] array, final char element) {
- return (char[]) removeAll((Object) array, indexesOf(array, element));
+ return (char[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5532,7 +5532,7 @@ public static char[] removeAllOccurences(final char[] array, final char element)
*/
@Deprecated
public static double[] removeAllOccurences(final double[] array, final double element) {
- return (double[]) removeAll((Object) array, indexesOf(array, element));
+ return (double[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5551,7 +5551,7 @@ public static double[] removeAllOccurences(final double[] array, final double el
*/
@Deprecated
public static float[] removeAllOccurences(final float[] array, final float element) {
- return (float[]) removeAll((Object) array, indexesOf(array, element));
+ return (float[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5570,7 +5570,7 @@ public static float[] removeAllOccurences(final float[] array, final float eleme
*/
@Deprecated
public static int[] removeAllOccurences(final int[] array, final int element) {
- return (int[]) removeAll((Object) array, indexesOf(array, element));
+ return (int[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5589,7 +5589,7 @@ public static int[] removeAllOccurences(final int[] array, final int element) {
*/
@Deprecated
public static long[] removeAllOccurences(final long[] array, final long element) {
- return (long[]) removeAll((Object) array, indexesOf(array, element));
+ return (long[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5608,7 +5608,7 @@ public static long[] removeAllOccurences(final long[] array, final long element)
*/
@Deprecated
public static short[] removeAllOccurences(final short[] array, final short element) {
- return (short[]) removeAll((Object) array, indexesOf(array, element));
+ return (short[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5628,7 +5628,7 @@ public static short[] removeAllOccurences(final short[] array, final short eleme
*/
@Deprecated
public static <T> T[] removeAllOccurences(final T[] array, final T element) {
- return (T[]) removeAll((Object) array, indexesOf(array, element));
+ return (T[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5645,7 +5645,7 @@ public static <T> T[] removeAllOccurences(final T[] array, final T element) {
* @since 3.10
*/
public static boolean[] removeAllOccurrences(final boolean[] array, final boolean element) {
- return (boolean[]) removeAll((Object) array, indexesOf(array, element));
+ return (boolean[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5662,7 +5662,7 @@ public static boolean[] removeAllOccurrences(final boolean[] array, final boolea
* @since 3.10
*/
public static byte[] removeAllOccurrences(final byte[] array, final byte element) {
- return (byte[]) removeAll((Object) array, indexesOf(array, element));
+ return (byte[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5679,7 +5679,7 @@ public static byte[] removeAllOccurrences(final byte[] array, final byte element
* @since 3.10
*/
public static char[] removeAllOccurrences(final char[] array, final char element) {
- return (char[]) removeAll((Object) array, indexesOf(array, element));
+ return (char[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5696,7 +5696,7 @@ public static char[] removeAllOccurrences(final char[] array, final char element
* @since 3.10
*/
public static double[] removeAllOccurrences(final double[] array, final double element) {
- return (double[]) removeAll((Object) array, indexesOf(array, element));
+ return (double[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5713,7 +5713,7 @@ public static double[] removeAllOccurrences(final double[] array, final double e
* @since 3.10
*/
public static float[] removeAllOccurrences(final float[] array, final float element) {
- return (float[]) removeAll((Object) array, indexesOf(array, element));
+ return (float[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5730,7 +5730,7 @@ public static float[] removeAllOccurrences(final float[] array, final float elem
* @since 3.10
*/
public static int[] removeAllOccurrences(final int[] array, final int element) {
- return (int[]) removeAll((Object) array, indexesOf(array, element));
+ return (int[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5747,7 +5747,7 @@ public static int[] removeAllOccurrences(final int[] array, final int element) {
* @since 3.10
*/
public static long[] removeAllOccurrences(final long[] array, final long element) {
- return (long[]) removeAll((Object) array, indexesOf(array, element));
+ return (long[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5764,7 +5764,7 @@ public static long[] removeAllOccurrences(final long[] array, final long element
* @since 3.10
*/
public static short[] removeAllOccurrences(final short[] array, final short element) {
- return (short[]) removeAll((Object) array, indexesOf(array, element));
+ return (short[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -5782,7 +5782,7 @@ public static short[] removeAllOccurrences(final short[] array, final short elem
* @since 3.10
*/
public static <T> T[] removeAllOccurrences(final T[] array, final T element) {
- return (T[]) removeAll((Object) array, indexesOf(array, element));
+ return (T[]) removeAt(array, indexesOf(array, element));
}
/**
@@ -6102,7 +6102,7 @@ public static boolean[] removeElements(final boolean[] array, final boolean... v
toRemove.set(i);
}
}
- return (boolean[]) removeAll(array, toRemove);
+ return (boolean[]) removeAt(array, toRemove);
}
/**
@@ -6151,7 +6151,7 @@ public static byte[] removeElements(final byte[] array, final byte... values) {
toRemove.set(i);
}
}
- return (byte[]) removeAll(array, toRemove);
+ return (byte[]) removeAt(array, toRemove);
}
/**
@@ -6200,7 +6200,7 @@ public static char[] removeElements(final char[] array, final char... values) {
toRemove.set(i);
}
}
- return (char[]) removeAll(array, toRemove);
+ return (char[]) removeAt(array, toRemove);
}
/**
@@ -6249,7 +6249,7 @@ public static double[] removeElements(final double[] array, final double... valu
toRemove.set(i);
}
}
- return (double[]) removeAll(array, toRemove);
+ return (double[]) removeAt(array, toRemove);
}
/**
@@ -6298,7 +6298,7 @@ public static float[] removeElements(final float[] array, final float... values)
toRemove.set(i);
}
}
- return (float[]) removeAll(array, toRemove);
+ return (float[]) removeAt(array, toRemove);
}
/**
@@ -6347,7 +6347,7 @@ public static int[] removeElements(final int[] array, final int... values) {
toRemove.set(i);
}
}
- return (int[]) removeAll(array, toRemove);
+ return (int[]) removeAt(array, toRemove);
}
/**
@@ -6396,7 +6396,7 @@ public static long[] removeElements(final long[] array, final long... values) {
toRemove.set(i);
}
}
- return (long[]) removeAll(array, toRemove);
+ return (long[]) removeAt(array, toRemove);
}
/**
@@ -6445,7 +6445,7 @@ public static short[] removeElements(final short[] array, final short... values)
toRemove.set(i);
}
}
- return (short[]) removeAll(array, toRemove);
+ return (short[]) removeAt(array, toRemove);
}
/**
@@ -6497,7 +6497,7 @@ public static <T> T[] removeElements(final T[] array, final T... values) {
}
}
@SuppressWarnings("unchecked") // removeAll() always creates an array of the same type as its input
- final T[] result = (T[]) removeAll(array, toRemove);
+ final T[] result = (T[]) removeAt(array, toRemove);
return result;
}
diff --git a/src/test/java/org/apache/commons/lang3/HashSetvBitSetTest.java b/src/test/java/org/apache/commons/lang3/HashSetvBitSetTest.java
index 8de35ac02..ac1a39470 100644
--- a/src/test/java/org/apache/commons/lang3/HashSetvBitSetTest.java
+++ b/src/test/java/org/apache/commons/lang3/HashSetvBitSetTest.java
@@ -80,7 +80,7 @@ public int[] timeBitSetRemoveAll() {
final BitSet toRemove = new BitSet();
final int[] array = new int[100];
toRemove.set(10, 20);
- return (int[]) ArrayUtils.removeAll(array, toRemove);
+ return (int[]) ArrayUtils.removeAt(array, toRemove);
}
@Benchmark
(commons-lang) 02/03: Javadoc: Internal method doesn't need @since tag
Posted by gg...@apache.org.
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-lang.git
commit e7bf2055567cd4506e26736719af357d243a76b6
Author: Gary D. Gregory <ga...@gmail.com>
AuthorDate: Thu Jun 12 11:21:15 2025 -0400
Javadoc: Internal method doesn't need @since tag
---
src/main/java/org/apache/commons/lang3/ArrayUtils.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/main/java/org/apache/commons/lang3/ArrayUtils.java b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
index c90f32ae0..ae3ab4a60 100644
--- a/src/main/java/org/apache/commons/lang3/ArrayUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
@@ -5306,7 +5306,6 @@ public static long[] removeAll(final long[] array, final int... indices) {
* @param array the input array, will not be modified, and may be {@code null}.
* @param indices to remove.
* @return new array of same type minus elements specified by the set bits in {@code indices}.
- * @since 3.2
*/
// package protected for access by unit tests
static Object removeAll(final Object array, final BitSet indices) {
(commons-lang) 01/03: Refactor internals for some removeElement() methods
Posted by gg...@apache.org.
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-lang.git
commit ba8b34a2b7b028c9514bee3ce5abe99af310ddc5
Author: Gary D. Gregory <ga...@gmail.com>
AuthorDate: Thu Jun 12 11:20:47 2025 -0400
Refactor internals for some removeElement() methods
---
.../java/org/apache/commons/lang3/ArrayUtils.java | 77 ++++------------------
.../java/org/apache/commons/lang3/ObjectUtils.java | 7 +-
2 files changed, 15 insertions(+), 69 deletions(-)
diff --git a/src/main/java/org/apache/commons/lang3/ArrayUtils.java b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
index 84fea2c87..c90f32ae0 100644
--- a/src/main/java/org/apache/commons/lang3/ArrayUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ArrayUtils.java
@@ -1870,6 +1870,10 @@ public static int hashCode(final Object array) {
return new HashCodeBuilder().append(array).toHashCode();
}
+ static <K> void increment(final Map<K, MutableInt> occurrences, final K boxed) {
+ occurrences.computeIfAbsent(boxed, k -> new MutableInt()).increment();
+ }
+
/**
* Finds the indices of the given value in the array.
* <p>
@@ -6086,13 +6090,7 @@ public static boolean[] removeElements(final boolean[] array, final boolean... v
}
final HashMap<Boolean, MutableInt> occurrences = new HashMap<>(2); // only two possible values here
for (final boolean v : values) {
- final Boolean boxed = Boolean.valueOf(v);
- final MutableInt count = occurrences.get(boxed);
- if (count == null) {
- occurrences.put(boxed, new MutableInt(1));
- } else {
- count.increment();
- }
+ increment(occurrences, Boolean.valueOf(v));
}
final BitSet toRemove = new BitSet();
for (int i = 0; i < array.length; i++) {
@@ -6139,15 +6137,9 @@ public static byte[] removeElements(final byte[] array, final byte... values) {
if (isEmpty(array) || isEmpty(values)) {
return clone(array);
}
- final Map<Byte, MutableInt> occurrences = new HashMap<>(values.length);
+ final HashMap<Byte, MutableInt> occurrences = new HashMap<>(values.length);
for (final byte v : values) {
- final Byte boxed = Byte.valueOf(v);
- final MutableInt count = occurrences.get(boxed);
- if (count == null) {
- occurrences.put(boxed, new MutableInt(1));
- } else {
- count.increment();
- }
+ increment(occurrences, Byte.valueOf(v));
}
final BitSet toRemove = new BitSet();
for (int i = 0; i < array.length; i++) {
@@ -6196,13 +6188,7 @@ public static char[] removeElements(final char[] array, final char... values) {
}
final HashMap<Character, MutableInt> occurrences = new HashMap<>(values.length);
for (final char v : values) {
- final Character boxed = Character.valueOf(v);
- final MutableInt count = occurrences.get(boxed);
- if (count == null) {
- occurrences.put(boxed, new MutableInt(1));
- } else {
- count.increment();
- }
+ increment(occurrences, Character.valueOf(v));
}
final BitSet toRemove = new BitSet();
for (int i = 0; i < array.length; i++) {
@@ -6251,13 +6237,7 @@ public static double[] removeElements(final double[] array, final double... valu
}
final HashMap<Double, MutableInt> occurrences = new HashMap<>(values.length);
for (final double v : values) {
- final Double boxed = Double.valueOf(v);
- final MutableInt count = occurrences.get(boxed);
- if (count == null) {
- occurrences.put(boxed, new MutableInt(1));
- } else {
- count.increment();
- }
+ increment(occurrences, Double.valueOf(v));
}
final BitSet toRemove = new BitSet();
for (int i = 0; i < array.length; i++) {
@@ -6306,13 +6286,7 @@ public static float[] removeElements(final float[] array, final float... values)
}
final HashMap<Float, MutableInt> occurrences = new HashMap<>(values.length);
for (final float v : values) {
- final Float boxed = Float.valueOf(v);
- final MutableInt count = occurrences.get(boxed);
- if (count == null) {
- occurrences.put(boxed, new MutableInt(1));
- } else {
- count.increment();
- }
+ increment(occurrences, Float.valueOf(v));
}
final BitSet toRemove = new BitSet();
for (int i = 0; i < array.length; i++) {
@@ -6361,13 +6335,7 @@ public static int[] removeElements(final int[] array, final int... values) {
}
final HashMap<Integer, MutableInt> occurrences = new HashMap<>(values.length);
for (final int v : values) {
- final Integer boxed = Integer.valueOf(v);
- final MutableInt count = occurrences.get(boxed);
- if (count == null) {
- occurrences.put(boxed, new MutableInt(1));
- } else {
- count.increment();
- }
+ increment(occurrences, Integer.valueOf(v));
}
final BitSet toRemove = new BitSet();
for (int i = 0; i < array.length; i++) {
@@ -6416,13 +6384,7 @@ public static long[] removeElements(final long[] array, final long... values) {
}
final HashMap<Long, MutableInt> occurrences = new HashMap<>(values.length);
for (final long v : values) {
- final Long boxed = Long.valueOf(v);
- final MutableInt count = occurrences.get(boxed);
- if (count == null) {
- occurrences.put(boxed, new MutableInt(1));
- } else {
- count.increment();
- }
+ increment(occurrences, Long.valueOf(v));
}
final BitSet toRemove = new BitSet();
for (int i = 0; i < array.length; i++) {
@@ -6471,13 +6433,7 @@ public static short[] removeElements(final short[] array, final short... values)
}
final HashMap<Short, MutableInt> occurrences = new HashMap<>(values.length);
for (final short v : values) {
- final Short boxed = Short.valueOf(v);
- final MutableInt count = occurrences.get(boxed);
- if (count == null) {
- occurrences.put(boxed, new MutableInt(1));
- } else {
- count.increment();
- }
+ increment(occurrences, Short.valueOf(v));
}
final BitSet toRemove = new BitSet();
for (int i = 0; i < array.length; i++) {
@@ -6528,12 +6484,7 @@ public static <T> T[] removeElements(final T[] array, final T... values) {
}
final HashMap<T, MutableInt> occurrences = new HashMap<>(values.length);
for (final T v : values) {
- final MutableInt count = occurrences.get(v);
- if (count == null) {
- occurrences.put(v, new MutableInt(1));
- } else {
- count.increment();
- }
+ increment(occurrences, v);
}
final BitSet toRemove = new BitSet();
for (int i = 0; i < array.length; i++) {
diff --git a/src/main/java/org/apache/commons/lang3/ObjectUtils.java b/src/main/java/org/apache/commons/lang3/ObjectUtils.java
index bdd84ef5c..00b239ab5 100644
--- a/src/main/java/org/apache/commons/lang3/ObjectUtils.java
+++ b/src/main/java/org/apache/commons/lang3/ObjectUtils.java
@@ -1185,12 +1185,7 @@ public static <T> T mode(final T... items) {
if (ArrayUtils.isNotEmpty(items)) {
final HashMap<T, MutableInt> occurrences = new HashMap<>(items.length);
for (final T t : items) {
- final MutableInt count = occurrences.get(t);
- if (count == null) {
- occurrences.put(t, new MutableInt(1));
- } else {
- count.increment();
- }
+ ArrayUtils.increment(occurrences, t);
}
T result = null;
int max = 0;