org.apache.commons.lang3.ArrayUtils

  1. // 1.add():将给定的数据添加到指定的数组中,返回一个新的数组。
  2. int[] arr = { 1, 2, 3 };
  3. int[] newArr = ArrayUtils.add(arr, 4); // new新数组长度比旧数组大1,copy旧数组到新数组,把元素赋值到最后一位
  4. System.out.println(ArrayUtils.toString(newArr)); // {1,2,3,4}
  5.  
  6. // 2.addAll():合并两个数组。
  7. int[] arr2 = { 4, 5, 6 };
  8. int[] newArr = ArrayUtils.addAll(arr, arr2);
  9. System.out.println(ArrayUtils.toString(newArr)); // {1,2,3,4,5,6}
  10.  
  11. int[] clone = ArrayUtils.clone(arr); // 调用arr.clone()
  12. System.out.println(ArrayUtils.toString(clone)); // {1,2,3}
  13.  
  14. // 3.contains():检查该数据在该数组中是否存在,返回一个boolean值。
  15. boolean contains = ArrayUtils.contains(arr, 2); // 遍历判断相等
  16. System.out.println(contains); // true
  17.  
  18. // 4.getLength():返回该数组长度。
  19. int length = ArrayUtils.getLength(arr); // 调用Array.getLength(arr)
  20. System.out.println(length); // 3
  21.  
  22. // 5.indexOf():从数组的第一位开始查询该数组中是否有指定的数值,存在返回index的数值,否则返回-1。
  23. int indexOf = ArrayUtils.indexOf(arr, 2); // 遍历判断相等
  24. System.out.println(indexOf); // 1
  25.  
  26. // 6.lastIndexOf():从数组的最后一位开始往前查询该数组中是否有指定的数值,存在返回index的数值,否则返回-1。
  27. int lastIndexOf = ArrayUtils.lastIndexOf(arr, 2); // 遍历判断相等
  28. System.out.println(indexOf); // 1
  29.  
  30. // 7.Insert():向指定的位置往该数组添加指定的元素,返回一个新的数组。
  31. int[] newArr = ArrayUtils.insert(2, arr, arr2); // new新数组长度是源数组和目标数组的长度和,再把源数组和目标数组arraycopy到新数组
  32. System.out.println(ArrayUtils.toString(newArr)); // {1,2,4,5,6,3}
  33.  
  34. // 扩展 System.arraycopy()方法
  35. // public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
  36. // 其中:src表示源数组,srcPos表示源数组要复制的起始位置,desc表示目标数组,length表示要复制的长度。
  37. // 参考:https://blog.csdn.net/qq_32440951/article/details/78357325
  38.  
  39. // 8.isEmpty():判断该数组是否为空,返回一个boolean值。
  40. boolean isEmpty = ArrayUtils.isEmpty(arr); // 调用getLength(array) == 0;
  41. System.out.println(isEmpty); // false
  42.  
  43. int[] arr3 = { 1, 2, 3 };
  44. boolean isEquals = ArrayUtils.isEquals(arr, arr3); // 不推荐使用,建议使用Arrays.equals(arr, arr3)
  45. System.out.println(isEquals); // true
  46. boolean equals = Arrays.equals(arr, arr3);
  47. System.out.println(equals); // true
  48.  
  49. // 9.isNotEmpty():判断该数组是否为空,而不是null。
  50. boolean isNotEmpty = ArrayUtils.isNotEmpty(arr);
  51. System.out.println(isNotEmpty); // false
  52.  
  53. // 10.isSameLength():判断两个数组的长度是否一样,当数组为空视长度为0。返回一个boolean值。
  54. boolean isSameLength = ArrayUtils.isSameLength(arr, arr3); // 调用getLength(arr) == getLength(arr3)
  55. System.out.println(isSameLength); // true
  56.  
  57. // 11.isSameType():判断两个数组的类型是否一样,返回一个boolean值。
  58. boolean isSameType = ArrayUtils.isSameType(arr, arr3); // 调用array1.getClass().getName().equals(array2.getClass().getName())
  59. System.out.println(isSameType); // true
  60.  
  61. // 12.isSorted():判断该数组是否按照自然排列顺序排序,返回一个boolean值。
  62. boolean isSorted = ArrayUtils.isSorted(arr); // 使用Comparator实现
  63. System.out.println(isSorted); // true
  64.  
  65. // 13.nullToEmpty():
  66. int[] nullArr = null;
  67. int[] nullToEmpty = ArrayUtils.nullToEmpty(nullArr); // 如果arr为null,返回new int[0]
  68. System.out.println(ArrayUtils.toString(nullToEmpty)); // {}
  69.  
  70. // 14.remove():删除该数组指定位置上的元素,返回一个新的数组。
  71. int[] newArr = ArrayUtils.remove(arr, 0);
  72. System.out.println(ArrayUtils.toString(newArr)); // {2,3}
  73.  
  74. // 15.removeAll():删除指定位置上的元素,返回一个新的数组。
  75. int[] newArr = ArrayUtils.removeAll(arr, 0, 1);
  76. System.out.println(ArrayUtils.toString(newArr)); // {3}
  77.  
  78. // 16.removeAllOccurences():从该数组中删除指定的元素,返回一个新的数组。
  79. int[] newArr = ArrayUtils.removeAllOccurences(arr, 2); // 遍历使用indexOf()找出所有指定元素,在执行removeAll()
  80. System.out.println(ArrayUtils.toString(newArr)); // {1,3}
  81.  
  82. // 17.removeElement():从该数组中删除第一次出现的指定元素,返回一个新的数组。
  83. int[] newArr = ArrayUtils.removeElement(arr, 2); // 使用indexOf()找出第一次出现的指定元素,在执行remove()
  84. System.out.println(ArrayUtils.toString(newArr)); // {1,3}
  85.  
  86. // 18.removeElements():从该数组中删除指定数量的元素,返回一个新的数组。
  87. int[] newArr = ArrayUtils.removeElements(arr, 1, 2);
  88. System.out.println(ArrayUtils.toString(newArr)); // {3}
  89.  
  90. // 19.reverse():数组反转。也可以指定开始和结束的反转位置。
  91. ArrayUtils.reverse(arr); // 首尾对称交换
  92. System.out.println(ArrayUtils.toString(arr)); // {3,2,1}
  93.  
  94. // 移位
  95. ArrayUtils.shift(arr, 2);
  96. System.out.println(ArrayUtils.toString(arr)); // {3,2,1}
  97.  
  98. // 打乱
  99. ArrayUtils.shuffle(arr);
  100. System.out.println(ArrayUtils.toString(arr));
  101.  
  102. // 20.subarray():截取数组(包头不包尾),返回一个新的数组
  103. int[] subarray = ArrayUtils.subarray(arr, 0, 2);
  104. System.out.println(ArrayUtils.toString(subarray)); // {1,2}
  105.  
  106. // 21.swap():指定该数组的两个位置的元素交换或者指定两个位置后加len的长度元素进行交换。
  107. ArrayUtils.swap(arr, 0, 1);
  108. System.out.println(ArrayUtils.toString(arr)); // {2,1,3}
  109.  
  110. // 22.toMap():将数组转换成Map,返回一个map的Object的集合。
  111. String[][] strArr = { { "RED", "#FF0000" }, { "GREEN", "#00FF00" }, { "BLUE", "#0000FF" } };
  112. Map colorMap = ArrayUtils.toMap(strArr);
  113. System.out.println(colorMap);
  114.  
  115. // 23.toObject():将原始数据类型的数组转换成包装类数组。
  116. ArrayUtils.toObject(arr); // 遍历转换
  117. System.out.println(ArrayUtils.toString(arr)); // Integer类型
  118.  
  119. // 24.toPrimitive():将包装类数组转换成原始数据类型数组。
  120. ArrayUtils.toPrimitive(arr);
  121. System.out.println(ArrayUtils.toString(arr)); // int类型
  122.  
  123. // 25.toString():将数组输出为Stirng,返回一个字符串。
  124. String str = ArrayUtils.toString(arr);
  125. System.out.println(ArrayUtils.toString(str));
  126.  
  127. // 26.toStringArray():将Object数组转换为String数组类型。
  128. String[] strArr2 = ArrayUtils.toStringArray(new Object[]{ "1", "2" });
  129. 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. [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告

    Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...

  2. .Net中EF通用数据层小结

    增删改查: using System; using System.Collections.Generic; using System.Data; using System.Data.Entity; u ...

  3. C# Note29: Close()和Dispose()的区别

    待更! 深入解析Close()和Dispose()的区别

  4. 当mysql报错1045时的解决方法

    2.用记事本打开 添加 打开后,搜索mysqld关键字 找到后,在mysqld下面添加skip-grant-tables,保存退出. 如果保存在了c盘里不能修改那么就采用这样的方法 然后就可以修改c盘 ...

  5. 从git中删除 .idea 目录

    将.idea目录加入ignore清单: $ echo '.idea' >> .gitignore   从git中删除idea: $ git rm —cached -r .idea 3 将. ...

  6. npm安裝、卸載、刪除、撤銷發佈包、更新版本信息

    利用npm安裝包: 全局安裝:npm install -g 模塊安裝 局部安裝(可以使用repuire(‘模塊名’)引用):npm install 模塊名稱 如果權限不夠,就是用管理員方式安裝. 本地 ...

  7. java 中 的 字节流!

    package cn.zhouzhou; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

  8. 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 ...

  9. Ajax与CORS通信

    处理跨域的主要方法 JSONP CORS 本文主要讨论CORS解决Ajax因为浏览器同源策略不能跨域请求数据的问题. 1. JSONP JSONP跨域可以参考下面这篇博客 JSONP跨域 2. COR ...

  10. 【python练习题】程序1

    #题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? count = 0 for i in range(1,5): for j in range(1,5): for k ...