- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Java数组的运用详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
。
一维数组:相同数据类型的元素的集合.
二位数组:存放数组的数组,也就是说数组里存的还是数组的数据形式.
。
一维数组 。
。
数据类型[] 数组名 = new 数据类型[数组长度],
例:int[] a = new int[5],
。
数据类型[] 数组名 = {数组0,数组1,数组2,数组3,…},
例:int[] b = new int[]{1,2,3,4,5},
数据类型[] 数组名 = {数组0,数组1,数组2,数组3,…},
例:int[] c = {1,2,3,4,5} 。
二位数组 。
数据类型[][] 数组名 = {数组1,数组2,…},
例:int[][] a = {{3,5},{7,9},{1,2}},
。
一维数组遍历 。
int [] arr={1,2,3,4,5};for(int a = 0; a < arr.length; a++){ System.out.print(arr[a]); }
运行结果:
12345 。
Arrays工具类中toString静态方法遍历 。
int [] arr={1,2,3,4,5}; System.out.print(Arrays.toString(arr));
运行结果:
[1, 2, 3, 4, 5] 。
二维数组遍历 。
int Arr[][]={{5,7,15},{8,4,11},{3,6,13}}; for (int i = 0; i < Arr.length; i++) { for (int j = 0; j < Arr[i].length; j++) { System.out.print(Arr[i][j]+" "); } }
运行结果:
5 7 15 8 4 11 3 6 13 。
Arrays工具类中deepToString静态方法遍历 。
int b[][]={{5,7,15},{8,4,11},{3,6,13}};System.out.println(Arrays.deepToString(b));
运行结果:
[[5, 7, 15], [8, 4, 11], [3, 6, 13]] 。
。
Arrays.deepToString()主要用于数组中还有数组的情况,而Arrays.toString()则相反,对于Arrays.toString()而言,当数组中有数组时,不会打印出数组中的内容,只会以地址的形式打印出来.
例:
int a[][]={{5,7,15},{8,4,11},{3,6,13}}; System.out.println(Arrays.toString(a)); int b[][]={{1,2,3},{8,4,11},{3,6,13}}; System.out.println(Arrays.deepToString(b));
运行结果:
[[I@da2dbb, [I@176fe71, [I@fb509a] 。
[[1, 2, 3], [8, 4, 11], [3, 6, 13]] 。
。
Arrays类位于 java.util 包中,主要包含了操作数组的各种方法.
Arrays.fill(); //填充数组 。
int[] a = new int[5];//新建一个大小为5的数组 Arrays.fill(a,4);//给所有值赋值4 System.out.println(Arrays.toString(a)); int[] b = new int[5];//新建一个大小为5的数组 Arrays.fill(b, 2,4,1);//给第2位(0开始)到第4位(不包括)赋值6 System.out.println(Arrays.toString(b));
运行结果:
[4, 4, 4, 4, 4] [0, 0, 1, 1, 0] 。
Arrays.sort(); //数组排序 。
。
int[] a = new int[] { 4, 1, 3, -2, 10 }; Arrays.sort(a); System.out.println(Arrays.toString(a));
运行结果:
[-2, 1, 3, 4, 10] 。
。
String[] a = new String[] { "a", "b", "C" }; Arrays.sort(a); System.out.println(Arrays.toString(a));
运行结果:
[C, a, b] 。
。
String[] a = new String[] { "a", "b", "C" }; Arrays.sort(a, String.CASE_INSENSITIVE_ORDER); System.out.println(Arrays.toString(a));
运行结果:
[a, b, C] 。
。
String[] a = new String[] { "a", "b", "C" }; Arrays.sort(a, Collections.reverseOrder()); System.out.println(Arrays.toString(a));
运行结果:
[a, b, C] 。
。
String[] a = new String[] { "a", "B", "c","D" }; Arrays.sort(a, String.CASE_INSENSITIVE_ORDER); Collections.reverse(Arrays.asList(a)); System.out.println(Arrays.toString(a));
运行结果:
[D, c, B, a] 。
。
int[] a = {3,2,1,8,6,5,4,7};Arrays.sort(a,0,3);//给第0位(0开始)到第3位(不包括)排序System.out.print(Arrays.toString(a));
运行结果:
[1, 2, 3, 8, 6, 5, 4, 7] 。
Arrays.toString(); //将数组中的内容全部打印出来 。
int[] a = {3,2,1,5,4};System.out.println(a);//直接将数组打印输出String str = Arrays.toString(a); // Arrays类的toString()方法能将数组中的内容全部打印出来System.out.println(str);
运行结果:
[I@da2dbb [3, 2, 1, 5, 4] 。
Arrays.equals(); //比较数组元素是否相等 。
int[] arr1 = {1,2,3};int[] arr2 = {1,2,3};System.out.println(Arrays.equals(arr1,arr2));System.out.println(arr1.equals(arr2));
运行结果:
true false 。
因为equals比较的是两个对象的地址,不是里面的数,而Arrays.equals重写了equals,所以,这里能比较元素是否相等.
Arrays.copyOf();//复制数组 。
int[] a= {3, 7, 2, 1};int[] b=Arrays.copyOf(arr6, 4); //指定新数组的长度int[] c=Arrays.copyOfRange(a, 1, 3); //只复制从索引[1]到索引[3]之间的元素(不包括索引[3]的元素)System.out.println(Arrays.toString(b));System.out.println(Arrays.toString(c));
运行结果:
[3, 7, 2, 1] [7, 2] 。
数组中是否包含某一个值 。
String[] array={"aaa","bbb","ccc","ddd","eee"};String a="aaa";String b="fff";if (Arrays.asList(array).contains(a)) { System.out.println("1");}else { System.out.println("2");}if (Arrays.asList(array).contains(b)) { System.out.println("1");}else { System.out.println("2");}
运行结果:
1 2 。
其它方法,详情见JAVA JDK_API 。
。
1,利用set的特性去重 。
int[] arr11 = {1,2,3,4,5,6,7,8,9,0,3,2,4,5,6,7,4,32,2,1,1,4,6,3};Set<Integer> set2=new HashSet<Integer>();for (int i = 0; i < arr11.length; i++) { set2.add(arr11[i]);}System.out.println(set2);int[] arr12 = new int[set2.size()];int j=0;for (Integer i:set2) { arr12[j++]=i;}System.out.println(Arrays.toString(arr12));
运行结果:
[0, 32, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 32, 1, 2, 3, 4, 5, 6, 7, 8, 9] 。
2,用List集合实现 。
int[] str = {5, 6, 6, 6, 8, 8, 7,4};List<Integer> list = new ArrayList<Integer>();for (int i=0; i<str.length; i++) { if(!list.contains(str[i])) { list.add(str[i]); }}System.out.println("去除重复后的list集合"+list);
运行结果:
[5, 6, 8, 7, 4] 。
3,用hashSet或者TreeSet实现 。
Integer[] nums = { 5, 5, 6, 6, 6, 8, 8, 7, 11, 12, 12 };HashSet hset = new HashSet(Arrays.asList(nums));//TreeSet<Integer> hset = new TreeSet<Integer>(Arrays.asList(nums));Iterator i = hset.iterator();while(i.hasNext()){ System.out.print(i.next());}
运行结果:
56781112 。
4,用List和set实现 。
int[] nums = { 5, 6, 6, 6, 8, 8, 7 };List<Integer> numList = new ArrayList<Integer>();for (int i : nums) numList.add(i);Set<Integer> numSet = new HashSet<Integer>();numSet.addAll(numList);System.out.println(numSet);
运行结果:
[5, 6, 7, 8] 。
。
删除数组中其中一个元素 。
String [] str = {"Java", "C++", "Php", "C#", "Python"};//删除phpList<String> list = new ArrayList<String>();for (int i=0; i<str.length; i++) { list.add(str[i]);}list.remove(2); //list.remove("Php")String[] newStr = list.toArray(new String[1]); //返回一个包含所有对象的指定类型的数组System.out.println(Arrays.toString(newStr));
运行结果:
[Java, C++, C#, Python] 。
在数组中增加一个元素 。
String [] str = {"Java", "C++", "Php", "C#", "Python"};//增加rubyList<String> list = new ArrayList<String>();for (int i=0; i<str.length; i++) { list.add(str[i]);}list.add(2, "ruby");String[] newStr = list.toArray(new String[1]); //返回一个包含所有对象的指定类型的数组System.out.println(Arrays.toString(newStr));
运行结果:
[Java, C++, ruby, Php, C#, Python] 。
。
数组转 List ,使用 JDK 中 java.util.Arrays 工具类的 asList 方法 。
String[] strs = new String[] {"aaa", "bbb", "ccc"};List<String> list = Arrays.asList(strs);for (String s : list) { System.out.println(s);}
List 转数组,使用 List 的toArray方法。无参toArray方法返回Object数组,传入初始化长度的数组对象,返回该对象数组 。
List<String> list2 = Arrays.asList("aaa", "bbb", "ccc");String[] array = list2.toArray(new String[list2.size()]);for (String s : array) { System.out.println(s);}
。
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我的更多内容! 。
原文链接:https://blog.csdn.net/weixin_46566078/article/details/119456224 。
最后此篇关于Java数组的运用详解的文章就讲到这里了,如果你想了解更多关于Java数组的运用详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
1、RabbitMQ简介 是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang(高并发语言)语言来编写的,并且RabbitMQ是基于
1、死信队列 描述:Q1队列绑定了x-dead-letter-exchange(死信交换机)为X2,x-dead-letter-routing-key(死信路由key)指向Q2(队列2)
1、集群架构简介 当单台 RabbitMQ 服务器的处理消息的能力达到瓶颈时,此时可以通过 RabbitMQ 集群来进行扩展,从而达到提升吞吐量的目的。RabbitMQ 集群是一个或多个节点的逻
我是一名优秀的程序员,十分优秀!