apache ArrayUtils 工具类
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 工具类的更多相关文章
- Apache Commons 工具类介绍及简单使用
转自:http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下 ...
- linkin大话数据结构--apache commons工具类
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动. 一.Commons BeanUtils 说明:针对Bean的一个工具集.由于Bean往往是有一堆ge ...
- Apache Commons 工具类简单使用
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于 ...
- Apache Commons 工具类介绍及简单使用(转载)
原文链接 http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动 ...
- Java:Apache Commons 工具类介绍及简单使用
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. Commons简介 组件 功能介绍 commo ...
- ArrayUtils工具类更加方便的操作数据
不废话,上代码: package com.jxd; import org.apache.commons.lang3.ArrayUtils; public class TestArr { /** * A ...
- Apache下的ArrayUtils工具类总结
ArrayUtils中的方法: 1.add():将给定的数据添加到指定的数组中,返回一个新的数组. 2.addAll():合并两个数组. 3.contains():检查该数据在该数组中是否存在,返回一 ...
- apache StringUtils 工具类
// org.apache.commons.lang3.StringUtils // 1.IsEmpty/IsBlank - checks if a String contains text 检查是否 ...
- Apache POI 工具类 [ PoiUtil ]
pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml ...
随机推荐
- [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告
Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...
- .Net中EF通用数据层小结
增删改查: using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; u ...
- C# Note29: Close()和Dispose()的区别
待更! 深入解析Close()和Dispose()的区别
- 当mysql报错1045时的解决方法
2.用记事本打开 添加 打开后,搜索mysqld关键字 找到后,在mysqld下面添加skip-grant-tables,保存退出. 如果保存在了c盘里不能修改那么就采用这样的方法 然后就可以修改c盘 ...
- 从git中删除 .idea 目录
将.idea目录加入ignore清单: $ echo '.idea' >> .gitignore 从git中删除idea: $ git rm —cached -r .idea 3 将. ...
- npm安裝、卸載、刪除、撤銷發佈包、更新版本信息
利用npm安裝包: 全局安裝:npm install -g 模塊安裝 局部安裝(可以使用repuire(‘模塊名’)引用):npm install 模塊名稱 如果權限不夠,就是用管理員方式安裝. 本地 ...
- java 中 的 字节流!
package cn.zhouzhou; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- Mybatis-java.lang.RuntimeException: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### The error may exist in sqlmap/User.xml ### Cause: org.apache.ibatis.builder.B
mappers(映射器) 使用相对于类路径的资源 如:<mapper resource="sqlmap/User.xml" /> 使用完全限定路径 如:<mapp ...
- Ajax与CORS通信
处理跨域的主要方法 JSONP CORS 本文主要讨论CORS解决Ajax因为浏览器同源策略不能跨域请求数据的问题. 1. JSONP JSONP跨域可以参考下面这篇博客 JSONP跨域 2. COR ...
- 【python练习题】程序1
#题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? count = 0 for i in range(1,5): for j in range(1,5): for k ...