java中对array数组的常用操作
目录:
- 声明数组;
- 初始化数组;
- 查看数组长度;
- 遍历数组;
- int数组转成string数组;
- 从array中创建arraylist;
- 数组中是否包含某一个值;
- 将数组转成set集合;
- 将数组转成list集合;
- Arrays.fill()填充数组;
- 数组排序;
- 复制数组;
- 比较两个数组;
- 去重复;
- 查询数组中的最大值和最小值;
备注:文内代码具有关联性。
1.声明数组;
|
1
2
3
4
|
String [] arr;int arr1[];String[] array=new String[5];int score[]=new int[3]; |
2.初始化数组;
|
1
2
3
4
5
6
7
8
9
10
|
//静态初始化int arr2[]=new int[]{1,2,3,4,5};String[] array1={"马超","马云","关羽","刘备","张飞"};String[] array2=new String[]{"黄渤","张艺兴","孙红雷","小猪","牙哥","黄磊"};int score[]=new int[3];//动态初始化for(int i=0;i<score.length;i++){ score[i]=i+1; } |
3.查看数组长度;
|
1
2
|
int length=array1.length;System.out.println("length: "+array1.length); |
4.遍历数组;
|
1
2
3
|
for (int i = 0; i < array1.length; i++) { System.out.println(array1[i]);} |
5.int数组转成string数组;
|
1
2
3
|
int[] array3={1,2,3,4,5,6,7,8,9,0}; String arrStrings=Arrays.toString(array3); System.out.println(arrStrings); |
6.从array中创建arraylist;
|
1
2
|
ArrayList<String> arrayList=new ArrayList<String>(Arrays.asList(array1));System.out.println(arrayList); |
7.数组中是否包含某一个值;
|
1
2
3
4
5
|
String a="马超";String[] array1={"马超","马云","关羽","刘备","张飞"};if (Arrays.asList(array1).contains(a)) { System.out.println("马超在这里");} |
8.将数组转成set集合;
|
1
2
3
|
String[] array2=new String[]{"黄渤","张艺兴","孙红雷","小猪","牙哥","黄磊"}; Set<String> set=new HashSet<String>(Arrays.asList(array2)); System.out.println(set); |
9.将数组转成list集合;
|
1
2
3
4
5
6
7
8
9
10
11
|
String[] array2=new String[]{"黄渤","张艺兴","孙红雷","小猪","牙哥","黄磊"};//方法 1.List<String> list=new ArrayList<String>();for (int i = 0; i < array2.length; i++) { list.add(array2[i]);}String[] arrStrings2={"1","2","3"};//方法 2.List<String > list2=java.util.Arrays.asList(arrStrings2);System.out.println(list2); |
10.Arrays.fill()填充数组;
|
1
2
3
4
5
6
|
int[] arr3=new int[5]; Arrays.fill(arr3, 10); //将数组全部填充10 //遍历输出 for (int i = 0; i < arr3.length; i++) { System.out.println(arr3[i]); } |
11.数组排序;
|
1
2
3
4
5
6
7
8
9
10
11
12
|
//方法 1.int[] arr4 = {3, 7, 2, 1, 9};Arrays.sort(arr4); //.sort(int[] a) 放入数组名字for (int i = 0; i < arr4.length; i++) { System.out.println(arr4[i]);}//方法 2. int[] arr5 = {3, 7, 2, 1, 9,3,45,7,8,8,3,2,65,34,5};Arrays.sort(arr5, 1, 4); //.sort(a, fromIndex, toIndex) 从第几个到第几个之间的进行排序for (int i = 0; i < arr5.length; i++) { System.out.println(arr5[i]);} |
12.复制数组;
|
1
2
3
4
5
6
7
8
|
//方法 1.int[] arr6 = {3, 7, 2, 1};int[] arr7=Arrays.copyOf(arr6, 10); //指定新数组的长度//方法 2. int[] arr8=Arrays.copyOfRange(arr6, 1, 3); //只复制从索引[1]到索引[3]之间的元素(不包括索引[3]的元素)for (int i = 0; i < arr8.length; i++) { System.out.println(arr8[i]);} |
13.比较两个数组;
|
1
2
3
|
int[] arr9 = {1, 2, 3, 4,5,6,7,8,9,0}; boolean arr10=Arrays.equals(arr6, arr9); System.out.println(arr10); |
14.去重复;
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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的特性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)); |
15.查询数组中的最大值和最小值;
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
int[] arr11 = {10, 2, 3, 4,5,6,7,8,9,0,3,2,4,5,6,7,4,32,2,1,1,4,6,3}; //计算最大值int max = arr11[0];for (int i = 1; i < arr11.length; i++) { if (arr11[i] > max) { max = arr11[i]; } } System.out.println("Max is " + max); //计算最小值 int min = arr11[0]; for (int i = 0; i < arr11.length; i++) { if (arr11[i]<min) { min = arr11[i]; }} System.out.println("Min is " + min); |
附:完整代码:

浙公网安备 33010602011771号