数组常用方法总结(部分方法利用了工具类)
发布日期:2021-06-30 16:35:42 浏览次数:5 分类:技术文章

本文共 7515 字,大约阅读时间需要 25 分钟。

今晚回顾了一下数组的常用方法,撸了一些代码总结一下,感觉又收获不少

直接上代码吧,主要是便于自己复习和记忆

创建数组的三种方法:

//创建数组的第一种方法        int[] arr=new int[6];        //创建数组的第二种方法        int[] a = {
23, 5, 65, 23, 45, 2, 4, 34, 8}; //创建数组的第三种方法 int[] b = new int[]{
23,5,65,23,45,2,34,8};

判断数组是否越界

//判断数组是否越界    public static boolean isLength(int m, int arr[]) {
boolean flag = false; int length = arr.length; if (m < length) {
flag = true; } return flag; }

判断数组是否相等

我们可以看到判断数组是否相等是用的equals()方法

//判断数组是否相等    public static void isEquals(int a[], int b[]) {
if (Arrays.equals(a, b)) {
System.out.println("这两个数组相等"); } else {
System.out.println("这两个数组不相等"); } }

控制台输入数组并且倒序输出

这里我用了两个方法倒序输出,利用ArrayUtils工具类的时候,出现了找不到该类的问题,该博客已经解决,出现同样问题的小伙伴可以参考一下:

//控制台输入数组并且倒序输出    public static void putIn() {
int[] arr = new int[5]; Scanner input = new Scanner(System.in); for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i + 1) + "个数"); arr[i] = input.nextInt(); }// for (int i = arr.length-1;i >= 0; i--) {
// System.out.println("倒序输出为:" + arr[i]);// } ArrayUtils.reverse(arr); System.out.println("倒序输出为:" + Arrays.toString(arr)); }

toString方法打印数组

//toString方法打印数组    public static void arrToString(int a[]) {
System.out.println(Arrays.toString(a)); }

从数组中创建一个ArrayList

//从数组中创建一个ArrayList    public static void makeArraylist(String stringArray[]) {
ArrayList
arrayList = new ArrayList
(Arrays.asList(stringArray)); System.out.println(arrayList); }

把一个 ArrayList 转换成数组

//把一个 ArrayList 转换成数组    public static void arrayListToArray(String stringArray[]) {
ArrayList
arrayList = new ArrayList
(Arrays.asList(stringArray)); String[] stringArr = new String[arrayList.size()]; arrayList.toArray(stringArr); for (String s : stringArr) {
System.out.println(s); } }

把一个数组转换成 Set

//把一个数组转换成 Set    public static void ArrayToSet(String stringArray[]) {
Set
set = new HashSet
(Arrays.asList(stringArray)); System.out.println(set); }

检查数组是否包含某一个值

asList()是Arrays工具类提供的可以将一个变长参数或者数组转换成List 的方法;
字符串类String的contains方法,是用于检测指定的内容是否在string变量中存在,匹配是严格区分大小写的。

//检查数组是否包含某一个值    public static void checkSomeone(String stringArray[]) {
boolean b = Arrays.asList(stringArray).contains("aa"); System.out.println(b); }

数组合并

//数组合并    public static void addArray(int a[], int b[]) {
int[] sumArray = ArrayUtils.addAll(a, b); System.out.println(Arrays.toString(sumArray)); }

用指定的分隔符连接数组元素

//用指定的分隔符连接数组元素    public static void charWithArray(String stringArray[]) {
String j = StringUtils.join(stringArray, "/"); System.out.println(j); }

移除数组中的元素

//移除数组中的元素    public static void removeArray(int a[]) {
int[] removed = ArrayUtils.removeElement(a, 8);//新建一个数组 System.out.println(Arrays.toString(removed)); }

把 int 转换成字节数组

//把 int 转换成字节数组    public static void intToByte() {
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array(); for (byte t : bytes) {
System.out.format("0x%x ", t); } }

下面是这次的完整代码,都写在了Array类里

package 数据结构.数组;        import org.apache.commons.lang3.ArrayUtils;        import org.apache.commons.lang3.StringUtils;        import java.nio.ByteBuffer;        import java.util.*;/** * @author yzh * @date 2019-08-23 21:32 */public class Array {
public static void main(String[] args) {
// //创建数组的第一种方法// int[] arr=new int[6];// int intValue = arr[5];// System.out.println(arr[5]);//// //创建数组的第二种方法 int[] a = {
23, 5, 65, 23, 45, 2, 4, 34, 8}; int[] b = {
0, 125, 90, 523};// System.out.println(a[4]);//// //创建数组的第三种方法// int[] b = new int[]{23,5,65,23,45,2,34,8};// int m = 10;// boolean length = isLength(m,b);// if (length) {
// System.out.println(b[m]);// }else {
// System.out.println("数组越界");// } //供下面的方法测试用 String[] stringArray = {
"12", "aa", "aa", "e3", "3e3", "12"};//// //判断数组是否相等// isEquals(a,b); //从控制台输入并且倒序输出// putIn();// //toString方法打印数组// arrToString(a);// //从数组中创建一个ArrayList// makeArraylist(stringArray); //把一个 ArrayList 转换成数组// arrayListToArray(stringArray); //把一个数组转换成 Set// ArrayToSet(stringArray); //检查数组是否包含某一个值// checkSomeone(stringArray); //数组合并// addArray(a,b); //用指定的分隔符连接数组元素// charWithArray(stringArray); //移除数组中的元素// removeArray(a); //把 int 转换成字节数组 intToByte(); } //判断数组是否越界 public static boolean isLength(int m, int arr[]) {
boolean flag = false; int length = arr.length; if (m < length) {
flag = true; } return flag; } //判断数组是否相等 public static void isEquals(int a[], int b[]) {
if (Arrays.equals(a, b)) {
System.out.println("这两个数组相等"); } else {
System.out.println("这两个数组不相等"); } } //控制台输入数组并且倒序输出 public static void putIn() {
int[] arr = new int[5]; Scanner input = new Scanner(System.in); for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i + 1) + "个数"); arr[i] = input.nextInt(); }// for (int i = arr.length-1;i >= 0; i--) {
// System.out.println("倒序输出为:" + arr[i]);// } ArrayUtils.reverse(arr); System.out.println("倒序输出为:" + Arrays.toString(arr)); } //toString方法打印数组 public static void arrToString(int a[]) {
System.out.println(Arrays.toString(a)); } //从数组中创建一个ArrayList public static void makeArraylist(String stringArray[]) {
ArrayList
arrayList = new ArrayList
(Arrays.asList(stringArray)); System.out.println(arrayList); } //把一个 ArrayList 转换成数组 public static void arrayListToArray(String stringArray[]) {
ArrayList
arrayList = new ArrayList
(Arrays.asList(stringArray)); String[] stringArr = new String[arrayList.size()]; arrayList.toArray(stringArr); for (String s : stringArr) {
System.out.println(s); } } //把一个数组转换成 Set public static void ArrayToSet(String stringArray[]) {
Set
set = new HashSet
(Arrays.asList(stringArray)); System.out.println(set); } //检查数组是否包含某一个值 public static void checkSomeone(String stringArray[]) { boolean b = Arrays.asList(stringArray).contains("aa"); System.out.println(b); } //数组合并 public static void addArray(int a[], int b[]) { int[] sumArray = ArrayUtils.addAll(a, b); System.out.println(Arrays.toString(sumArray)); } //用指定的分隔符连接数组元素 public static void charWithArray(String stringArray[]) { String j = StringUtils.join(stringArray, "/"); System.out.println(j); } //移除数组中的元素 public static void removeArray(int a[]) { int[] removed = ArrayUtils.removeElement(a, 8);//新建一个数组 System.out.println(Arrays.toString(removed)); } //把 int 转换成字节数组 public static void intToByte() { byte[] bytes = ByteBuffer.allocate(4).putInt(8).array(); for (byte t : bytes) { System.out.format("0x%x ", t); } }}

转载地址:https://kunzhi.blog.csdn.net/article/details/100047698 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:面经:阿里一面自我剖析---Java岗(40分钟)
下一篇:IDEA中找不到ArrayUtils工具类的问题

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月07日 11时52分40秒