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); |
附:完整代码: