前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apache Commons Lang之ArrayUtils

Apache Commons Lang之ArrayUtils

作者头像
Abalone
发布2022-07-14 14:19:08
2790
发布2022-07-14 14:19:08
举报
文章被收录于专栏:影像技术栈影像技术栈

码农不识Apache,码尽一生也枉然。

常量数组

代码语言:javascript
复制
public static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
public static final Class<?>[] EMPTY_CLASS_ARRAY = new Class[0];
public static final String[] EMPTY_STRING_ARRAY = new String[0];
public static final long[] EMPTY_LONG_ARRAY = new long[0];
public static final Long[] EMPTY_LONG_OBJECT_ARRAY = new Long[0];
public static final int[] EMPTY_INT_ARRAY = new int[0];
public static final Integer[] EMPTY_INTEGER_OBJECT_ARRAY = new Integer[0];

转换为Map

toMap(Object[] array)

将二维数组转换为Map。

代码语言:javascript
复制
Map colorMap = ArrayUtils.toMap(new String[][] {
    {"RED", "#FF0000"},
    {"GREEN", "#00FF00"},
    {"BLUE", "#0000FF"}
});

生成数组

T[] toArray(final T… items)

将不定参数转换为数组。

代码语言:javascript
复制
String[] array = ArrayUtils.toArray("1", "2");
String[] emptyArray = ArrayUtils.<String>toArray();

null转空数组

Object[] nullToEmpty(Object[] array)

将null数组转为对应类型的空数组,如果array不是null,则返回array。

代码语言:javascript
复制
String[] arr = ArrayUtils.nullToEmpty((String[]) null);

数组操作

T[] subarray(T[] array, int startIndexInclusive, int endIndexExclusive)

截取数组开始索引位置和结束索引位置的数组为子数组

代码语言:javascript
复制
Object[]s1=ArrayUtils.subarray(newObject[]{"aa","bb","cc"},0,1); // ["aa"]
Object[]s2=ArrayUtils.subarray(newObject[]{"aa","bb","cc"},0,2); // ["aa", "bb"]

reverse(long[] array)

反转数组。

代码语言:javascript
复制
ArrayUtils.reverse(new String[]{"aa","bb"});//结果是:{"bb","aa"}

swap(Object[] array, int offset1, int offset2)

交换数组中的元素。

代码语言:javascript
复制
ArrayUtils.swap(["1", "2", "3"], 0, 2) -> ["3", "2", "1"]
ArrayUtils.swap(["1", "2", "3"], 0, 0) -> ["1", "2", "3"]
ArrayUtils.swap(["1", "2", "3"], 1, 0) -> ["2", "1", "3"]
ArrayUtils.swap(["1", "2", "3"], 0, 5) -> ["1", "2", "3"]
ArrayUtils.swap(["1", "2", "3"], -1, 1) -> ["2", "1", "3"]

数组元素查找

int indexOf(Object[] array, Object objectToFind)

数组元素所在的索引位置,如果没有则返回-1,可指定起始搜索位置。

代码语言:javascript
复制
ArrayUtils.indexOf(new String[]{"aa","bb","cc"},"cc"); // 2
ArrayUtils.indexOf(new String[]{"aa","bb","bb"},"bb",2); // 2
ArrayUtils.indexOf(newObject[]{"aa","bb","cc"},"cc",3); // -1

int lastIndexOf(Object[] array, Object objectToFind, int startIndex)

indexOf(Object[] array, Object objectToFind)相反。反向查询某个object在数组中的位置,可以指定起始搜索位置。

contains(Object[] array, Object objectToFind)

判断数组中是否包含某个元素。

代码语言:javascript
复制
ArrayUtils.contains(new String[]{"a", "b", "c"}, "a"); // true

数组判空

boolean isEmpty(Object[] array)

判断数组是否为空。

代码语言:javascript
复制
ArrayUtils.isEmpty(new String[]{"21","是"}); // false
ArrayUtils.isEmpty(new String[]{""}); // false
ArrayUtils.isEmpty(new String[]{null}); // false
ArrayUtils.isEmpty(new String[]{}); // true

boolean isNotEmpty(T[] array)

同``相反。判断数组是否不为空。

合并数组元素

T[] addAll(T[] array1, T… array2)

合并多个数组到某一个数组中。

代码语言:javascript
复制
ArrayUtils.addAll(null, null)     = null
ArrayUtils.addAll(array1, null)   = cloned copy of array1
ArrayUtils.addAll(null, array2)   = cloned copy of array2
ArrayUtils.addAll([], [])         = []
ArrayUtils.addAll([null], [null]) = [null, null]
ArrayUtils.addAll(["a", "b", "c"], ["1", "2", "3"]) = ["a", "b", "c", "1", "2", "3"]

T[] add(T[] array, T element)

将单个元素合并到数组中。

代码语言:javascript
复制
ArrayUtils.add(null, null)      = IllegalArgumentException
ArrayUtils.add(null, "a")       = ["a"]
ArrayUtils.add(["a"], null)     = ["a", null]
ArrayUtils.add(["a"], "b")      = ["a", "b"]
ArrayUtils.add(["a", "b"], "c") = ["a", "b", "c"]

T[] add(T[] array, int index, T element)

将单个元素合并到指定索引位置的数组中。

代码语言:javascript
复制
ArrayUtils.add(null, 0, null)      = IllegalArgumentException
ArrayUtils.add(null, 0, "a")       = ["a"]
ArrayUtils.add(["a"], 1, null)     = ["a", null]
ArrayUtils.add(["a"], 0, "b")      = ["b", "a"]
ArrayUtils.add(["a", "b"], 1, "c") = ["a", "c", "b"]

移除数组元素

T[] remove(T[] array, int index)

移除数组中指定索引位置的元素。

代码语言:javascript
复制
ArrayUtils.remove(["a"], 0)           = []
ArrayUtils.remove(["a", "b"], 0)      = ["b"]
ArrayUtils.remove(["a", "b"], 1)      = ["a"]
ArrayUtils.remove(["a", "b", "c"], 1) = ["a", "c"]

T[] removeAll(T[] array, int… indices)

<T> T[] remove(T[] array, int index)相似,移除数组中所有指定索引位置的元素。

代码语言:javascript
复制
ArrayUtils.removeAll(["a", "b", "c"], 0, 2) = ["b"]
ArrayUtils.removeAll(["a", "b", "c"], 1, 2) = ["a"]

T[] removeElement(T[] array, Object element)

移除数组中的第一个element元素。

代码语言:javascript
复制
ArrayUtils.removeElement(null, "a")            = null
ArrayUtils.removeElement([], "a")              = []
ArrayUtils.removeElement(["a"], "b")           = ["a"]
ArrayUtils.removeElement(["a", "b"], "a")      = ["b"]
ArrayUtils.removeElement(["a", "b", "a"], "a") = ["b", "a"]
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常量数组
  • 转换为Map
    • toMap(Object[] array)
    • 生成数组
      • T[] toArray(final T… items)
      • null转空数组
        • Object[] nullToEmpty(Object[] array)
        • 数组操作
          • T[] subarray(T[] array, int startIndexInclusive, int endIndexExclusive)
            • reverse(long[] array)
              • swap(Object[] array, int offset1, int offset2)
              • 数组元素查找
                • int indexOf(Object[] array, Object objectToFind)
                  • int lastIndexOf(Object[] array, Object objectToFind, int startIndex)
                    • contains(Object[] array, Object objectToFind)
                    • 数组判空
                      • boolean isEmpty(Object[] array)
                        • boolean isNotEmpty(T[] array)
                        • 合并数组元素
                          • T[] addAll(T[] array1, T… array2)
                            • T[] add(T[] array, T element)
                              • T[] add(T[] array, int index, T element)
                              • 移除数组元素
                                • T[] remove(T[] array, int index)
                                  • T[] removeAll(T[] array, int… indices)
                                    • T[] removeElement(T[] array, Object element)
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档