数组常用方法总结(部分方法利用了工具类)
发布日期:2021-06-30 16:35:42
浏览次数:4
分类:技术文章
本文共 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[]) { ArrayListarrayList = new ArrayList (Arrays.asList(stringArray)); System.out.println(arrayList); }
把一个 ArrayList 转换成数组
//把一个 ArrayList 转换成数组 public static void arrayListToArray(String stringArray[]) { ArrayListarrayList = 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[]) { Setset = 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[]) { ArrayListarrayList = 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年04月05日 00时34分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【深度学习笔记】标准卷积
2019-04-30
【深度学习笔记】组卷积
2019-04-30
【深度学习笔记】循环神经网络和递归神经网络区别
2019-04-30
【学习笔记】英文科技论文常见英语句式积累
2019-04-30
【深度学习笔记】PixelShuffle
2019-04-30
【python3学习笔记】斜杠和双斜杠运算符的区别
2019-04-30
【深度学习笔记】用torch.nn.Sequential()搭建神经网络模型
2019-04-30
【深度学习笔记】用torch.nn.ModuleList搭建神经网络
2019-04-30
【深度学习笔记】pytorch的点乘(dot product)
2019-04-30
【深度学习笔记】残差
2019-04-30
【python学习笔记】读取指定文件夹中的图片,结合边缘保留滤波EPF
2019-04-30
【工具和环境】Linux下安装pycharm
2019-04-30
【Accumulation】The definition of SISR
2019-04-30