org.apache.commons.lang3.ArrayUtils

// 1.add():将给定的数据添加到指定的数组中,返回一个新的数组。
int[] arr = { 1, 2, 3 };
int[] newArr = ArrayUtils.add(arr, 4); // new新数组长度比旧数组大1,copy旧数组到新数组,把元素赋值到最后一位
System.out.println(ArrayUtils.toString(newArr)); // {1,2,3,4} // 2.addAll():合并两个数组。
int[] arr2 = { 4, 5, 6 };
int[] newArr = ArrayUtils.addAll(arr, arr2);
System.out.println(ArrayUtils.toString(newArr)); // {1,2,3,4,5,6} int[] clone = ArrayUtils.clone(arr); // 调用arr.clone()
System.out.println(ArrayUtils.toString(clone)); // {1,2,3} // 3.contains():检查该数据在该数组中是否存在,返回一个boolean值。
boolean contains = ArrayUtils.contains(arr, 2); // 遍历判断相等
System.out.println(contains); // true // 4.getLength():返回该数组长度。
int length = ArrayUtils.getLength(arr); // 调用Array.getLength(arr)
System.out.println(length); // 3 // 5.indexOf():从数组的第一位开始查询该数组中是否有指定的数值,存在返回index的数值,否则返回-1。
int indexOf = ArrayUtils.indexOf(arr, 2); // 遍历判断相等
System.out.println(indexOf); // 1 // 6.lastIndexOf():从数组的最后一位开始往前查询该数组中是否有指定的数值,存在返回index的数值,否则返回-1。
int lastIndexOf = ArrayUtils.lastIndexOf(arr, 2); // 遍历判断相等
System.out.println(indexOf); // 1 // 7.Insert():向指定的位置往该数组添加指定的元素,返回一个新的数组。
int[] newArr = ArrayUtils.insert(2, arr, arr2); // new新数组长度是源数组和目标数组的长度和,再把源数组和目标数组arraycopy到新数组
System.out.println(ArrayUtils.toString(newArr)); // {1,2,4,5,6,3} // 扩展 System.arraycopy()方法
// public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
// 其中:src表示源数组,srcPos表示源数组要复制的起始位置,desc表示目标数组,length表示要复制的长度。
// 参考:https://blog.csdn.net/qq_32440951/article/details/78357325 // 8.isEmpty():判断该数组是否为空,返回一个boolean值。
boolean isEmpty = ArrayUtils.isEmpty(arr); // 调用getLength(array) == 0;
System.out.println(isEmpty); // false int[] arr3 = { 1, 2, 3 };
boolean isEquals = ArrayUtils.isEquals(arr, arr3); // 不推荐使用,建议使用Arrays.equals(arr, arr3)
System.out.println(isEquals); // true
boolean equals = Arrays.equals(arr, arr3);
System.out.println(equals); // true // 9.isNotEmpty():判断该数组是否为空,而不是null。
boolean isNotEmpty = ArrayUtils.isNotEmpty(arr);
System.out.println(isNotEmpty); // false // 10.isSameLength():判断两个数组的长度是否一样,当数组为空视长度为0。返回一个boolean值。
boolean isSameLength = ArrayUtils.isSameLength(arr, arr3); // 调用getLength(arr) == getLength(arr3)
System.out.println(isSameLength); // true // 11.isSameType():判断两个数组的类型是否一样,返回一个boolean值。
boolean isSameType = ArrayUtils.isSameType(arr, arr3); // 调用array1.getClass().getName().equals(array2.getClass().getName())
System.out.println(isSameType); // true // 12.isSorted():判断该数组是否按照自然排列顺序排序,返回一个boolean值。
boolean isSorted = ArrayUtils.isSorted(arr); // 使用Comparator实现
System.out.println(isSorted); // true // 13.nullToEmpty():
int[] nullArr = null;
int[] nullToEmpty = ArrayUtils.nullToEmpty(nullArr); // 如果arr为null,返回new int[0]
System.out.println(ArrayUtils.toString(nullToEmpty)); // {} // 14.remove():删除该数组指定位置上的元素,返回一个新的数组。
int[] newArr = ArrayUtils.remove(arr, 0);
System.out.println(ArrayUtils.toString(newArr)); // {2,3} // 15.removeAll():删除指定位置上的元素,返回一个新的数组。
int[] newArr = ArrayUtils.removeAll(arr, 0, 1);
System.out.println(ArrayUtils.toString(newArr)); // {3} // 16.removeAllOccurences():从该数组中删除指定的元素,返回一个新的数组。
int[] newArr = ArrayUtils.removeAllOccurences(arr, 2); // 遍历使用indexOf()找出所有指定元素,在执行removeAll()
System.out.println(ArrayUtils.toString(newArr)); // {1,3} // 17.removeElement():从该数组中删除第一次出现的指定元素,返回一个新的数组。
int[] newArr = ArrayUtils.removeElement(arr, 2); // 使用indexOf()找出第一次出现的指定元素,在执行remove()
System.out.println(ArrayUtils.toString(newArr)); // {1,3} // 18.removeElements():从该数组中删除指定数量的元素,返回一个新的数组。
int[] newArr = ArrayUtils.removeElements(arr, 1, 2);
System.out.println(ArrayUtils.toString(newArr)); // {3} // 19.reverse():数组反转。也可以指定开始和结束的反转位置。
ArrayUtils.reverse(arr); // 首尾对称交换
System.out.println(ArrayUtils.toString(arr)); // {3,2,1} // 移位
ArrayUtils.shift(arr, 2);
System.out.println(ArrayUtils.toString(arr)); // {3,2,1} // 打乱
ArrayUtils.shuffle(arr);
System.out.println(ArrayUtils.toString(arr)); // 20.subarray():截取数组(包头不包尾),返回一个新的数组
int[] subarray = ArrayUtils.subarray(arr, 0, 2);
System.out.println(ArrayUtils.toString(subarray)); // {1,2} // 21.swap():指定该数组的两个位置的元素交换或者指定两个位置后加len的长度元素进行交换。
ArrayUtils.swap(arr, 0, 1);
System.out.println(ArrayUtils.toString(arr)); // {2,1,3} // 22.toMap():将数组转换成Map,返回一个map的Object的集合。
String[][] strArr = { { "RED", "#FF0000" }, { "GREEN", "#00FF00" }, { "BLUE", "#0000FF" } };
Map colorMap = ArrayUtils.toMap(strArr);
System.out.println(colorMap); // 23.toObject():将原始数据类型的数组转换成包装类数组。
ArrayUtils.toObject(arr); // 遍历转换
System.out.println(ArrayUtils.toString(arr)); // Integer类型 // 24.toPrimitive():将包装类数组转换成原始数据类型数组。
ArrayUtils.toPrimitive(arr);
System.out.println(ArrayUtils.toString(arr)); // int类型 // 25.toString():将数组输出为Stirng,返回一个字符串。
String str = ArrayUtils.toString(arr);
System.out.println(ArrayUtils.toString(str)); // 26.toStringArray():将Object数组转换为String数组类型。
String[] strArr2 = ArrayUtils.toStringArray(new Object[]{ "1", "2" });
System.out.println(ArrayUtils.toString(strArr2)); // {1,2}

官方文档:https://commons.apache.org/proper/commons-lang/javadocs/api-release/index.html

参考文档:https://blog.csdn.net/evilcry2012/article/details/77987348

apache ArrayUtils 工具类的更多相关文章

  1. Apache Commons 工具类介绍及简单使用

    转自:http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下 ...

  2. linkin大话数据结构--apache commons工具类

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动. 一.Commons BeanUtils 说明:针对Bean的一个工具集.由于Bean往往是有一堆ge ...

  3. Apache Commons 工具类简单使用

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于 ...

  4. Apache Commons 工具类介绍及简单使用(转载)

    原文链接 http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动 ...

  5. Java:Apache Commons 工具类介绍及简单使用

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. Commons简介 组件 功能介绍 commo ...

  6. ArrayUtils工具类更加方便的操作数据

    不废话,上代码: package com.jxd; import org.apache.commons.lang3.ArrayUtils; public class TestArr { /** * A ...

  7. Apache下的ArrayUtils工具类总结

    ArrayUtils中的方法: 1.add():将给定的数据添加到指定的数组中,返回一个新的数组. 2.addAll():合并两个数组. 3.contains():检查该数据在该数组中是否存在,返回一 ...

  8. apache StringUtils 工具类

    // org.apache.commons.lang3.StringUtils // 1.IsEmpty/IsBlank - checks if a String contains text 检查是否 ...

  9. Apache POI 工具类 [ PoiUtil ]

    pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml ...

随机推荐

  1. spring AOP源码分析(三)

    在上一篇文章 spring AOP源码分析(二)中,我们已经知道如何生成一个代理对象了,那么当代理对象调用代理方法时,增强行为也就是拦截器是如何发挥作用的呢?接下来我们将介绍JDK动态代理和cglib ...

  2. Ajax发送请求等待时弹出模态框等待提示

    主要的代码分为两块,一个是CSS定义模态框,另一个是在Ajax中弹出模态框. 查看菜鸟教程中的模态框教程demo,http://www.runoob.com/try/try.php?filename= ...

  3. PHP二维数组(或任意维数组)转换成一维数组的方法汇总(实用)

    目录 1 array_reduce函数法 2 array_walk_recursive函数法 3 array_map函数法 假设有下面一个二维数组: $user = array( '0' => ...

  4. vue的定位

    高德定位 https://blog.csdn.net/YY110621/article/details/87921605(copy) 话不多说,直接写方法步骤,需要的直接拿去放在自己项目中即可使用先看 ...

  5. day 7-6 多线程及开启方式

    一. 什么是线程 线程:顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程 ...

  6. CART算法与剪枝原理

    参考:https://blog.csdn.net/u014688145/article/details/53326910 知乎:https://www.zhihu.com/question/22697 ...

  7. python爬虫之redis环境简单部署

    Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久 ...

  8. RedHat 安装RabbitMQ

    (以下均以root用户执行) 1.安装配置epel源rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noar ...

  9. ASP.NET4.0所有网页指令

    ASP.NET网页指令(Page Directive)就是在网页开头的标签声明: <% Page Language="C#" %> 而指令的作用在于指定网页和用户控件编 ...

  10. 使用urllib2+re爬取web网站

    应用1,使用urllib2+re爬取淘宝网指定页面的所有图片