数组常用方法总结(部分方法利用了工具类)
今晚回顾了一下数组的常用方法,撸了一些代码总结一下,感觉又收获不少 直接上代码吧,主要是便于自己复习和记忆
创建数组的三种方法:
代码语言:javascript代码运行次数:0运行复制 //创建数组的第一种方法
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};
判断数组是否越界
代码语言:javascript代码运行次数:0运行复制 //判断数组是否越界
public static boolean isLength(int m, int arr[]) {
boolean flag = false;
int length = arr.length;
if (m < length) {
flag = true;
}
return flag;
}
判断数组是否相等 我们可以看到判断数组是否相等是用的equals()方法
代码语言:javascript代码运行次数:0运行复制 //判断数组是否相等
public static void isEquals(int a[], int b[]) {
if (Arrays.equals(a, b)) {
System.out.println("这两个数组相等");
} else {
System.out.println("这两个数组不相等");
}
}
控制台输入数组并且倒序输出 这里我用了两个方法倒序输出,利用ArrayUtils工具类的时候,出现了找不到该类的问题,该博客已经解决,出现同样问题的小伙伴可以参考一下:IDEA中找不到ArrayUtils工具类的问题
代码语言:javascript代码运行次数:0运行复制 //控制台输入数组并且倒序输出
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方法打印数组
代码语言:javascript代码运行次数:0运行复制 //toString方法打印数组
public static void arrToString(int a[]) {
System.out.println(Arrays.toString(a));
}
从数组中创建一个ArrayList
代码语言:javascript代码运行次数:0运行复制 //从数组中创建一个ArrayList
public static void makeArraylist(String stringArray[]) {
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
}
把一个 ArrayList 转换成数组
代码语言:javascript代码运行次数:0运行复制 //把一个 ArrayList 转换成数组
public static void arrayListToArray(String stringArray[]) {
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
String[] stringArr = new String[arrayList.size()];
arrayList.toArray(stringArr);
for (String s : stringArr) {
System.out.println(s);
}
}
把一个数组转换成 Set
代码语言:javascript代码运行次数:0运行复制 //把一个数组转换成 Set
public static void ArrayToSet(String stringArray[]) {
Set<String> set = new HashSet<String>(Arrays.asList(stringArray));
System.out.println(set);
}
检查数组是否包含某一个值 asList()是Arrays工具类提供的可以将一个变长参数或者数组转换成List 的方法; 字符串类String的contains方法,是用于检测指定的内容是否在string变量中存在,匹配是严格区分大小写的。
代码语言:javascript代码运行次数:0运行复制 //检查数组是否包含某一个值
public static void checkSomeone(String stringArray[]) {
boolean b = Arrays.asList(stringArray).contains("aa");
System.out.println(b);
}
数组合并
代码语言:javascript代码运行次数:0运行复制 //数组合并
public static void addArray(int a[], int b[]) {
int[] sumArray = ArrayUtils.addAll(a, b);
System.out.println(Arrays.toString(sumArray));
}
用指定的分隔符连接数组元素
代码语言:javascript代码运行次数:0运行复制 //用指定的分隔符连接数组元素
public static void charWithArray(String stringArray[]) {
String j = StringUtils.join(stringArray, "/");
System.out.println(j);
}
移除数组中的元素
代码语言:javascript代码运行次数:0运行复制 //移除数组中的元素
public static void removeArray(int a[]) {
int[] removed = ArrayUtils.removeElement(a, 8);//新建一个数组
System.out.println(Arrays.toString(removed));
}
把 int 转换成字节数组
代码语言:javascript代码运行次数:0运行复制 //把 int 转换成字节数组
public static void intToByte() {
byte[] bytes = ByteBuffer.allocate(4).putInt(8).array();
for (byte t : bytes) {
System.out.format("0x%x ", t);
}
}
下面是这次的完整代码,都写在了Array类里
代码语言:javascript代码运行次数:0运行复制package 数据结构.数组;
import org.apachemons.lang3.ArrayUtils;
import org.apachemons.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<String> arrayList = new ArrayList<String>(Arrays.asList(stringArray));
System.out.println(arrayList);
}
//把一个 ArrayList 转换成数组
public static void arrayListToArray(String stringArray[]) {
ArrayList<String> arrayList = new ArrayList<String>(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<String> set = new HashSet<String>(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);
}
}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-04-07,如有侵权请联系 cloudcommunity@tencent 删除数组intstringsystem工具类