面向对象之自定义数组工具类ArraysUtil

 1 package day1_5;
 2 
 3 import java.util.Arrays;
 4 
 5 public class ArraysUtil {
 6     //遍历数组
 7     public void print(int[] arr) {
 8         for (int i : arr) {
 9             System.out.print(i + " ");
10         }
11         System.out.println();
12     }
13 
14     //复制数组
15     public int[] copy(int[] arr) {
16         int[] newArr = new int[arr.length];
17         for (int i = 0; i < arr.length; i++) {
18             newArr[i] = arr[i];
19         }
20         return newArr;
21     }
22 
23     //最大值
24     public int getMax(int[] arr) {
25         int maxValue = arr[0];
26         for (int i = 0; i < arr.length; i++) {
27             if (arr[i] > maxValue) {
28                 maxValue = arr[i];
29             }
30         }
31         return maxValue;
32     }
33 
34     //最小值
35     public int getMin(int[] arr){
36         int minValue = arr[0];
37         for (int i = 0; i < arr.length; i++) {
38             if (arr[i] < minValue) {
39                 minValue = arr[i];
40             }
41         }
42         return minValue;
43     }
44 
45     //求和
46     public int getSum(int[] arr){
47         int sumValue = 0;
48         for (int i = 0; i < arr.length; i++) {
49             sumValue += arr[i];
50         }
51         return sumValue;
52     }
53 
54     //平均值
55     public int getAvg(int[] arr){
56         return getSum(arr)/arr.length;
57     }
58 
59 
60     //查找元素
61     public int getIndex(int[] arr,int target){
62         //线性查找
63         for (int i=0; i < arr.length; i++) {
64             if (arr[i] == target) {
65                 return i;
66             }
67         }
68         return -1;//负数表示数组中没有目标元素
69     }
70 
71     //反转数组
72     public void reverse(int[] arr){
73         for (int i = 0,j = arr.length-1; i < j; i++,j--) {
74             int tmp = arr[i];
75             arr[i] = arr[j];
76             arr[j] = tmp;
77         }
78     }
79 
80     //冒泡排序
81     public void sort(int[] arr){
82         for (int i = 0; i < arr.length-1; i++) {
83             for (int j = 0; j < arr.length-i-1; j++) {
84                 int tmp;
85                 if (arr[j] > arr[j + 1]) {
86                     tmp = arr[j];
87                     arr[j] = arr[j+1];
88                     arr[j+1] = tmp;
89                 }
90             }
91         }
92     }
93 
94 }

测试类

 1 package day1_5;
 2 
 3 
 4 import java.util.Arrays;
 5 
 6 public class ArrayUtilTest {
 7     public static void main(String[] args) {
 8         int[] arr = new int[]{12,46,-12,90,-46,0,4,-90,89};
 9         ArraysUtil arraysUtil = new ArraysUtil();
10         System.out.println("----遍历数组----");
11         arraysUtil.print(arr);
12         System.out.println("----复制数组----");
13         int[] arr2 = arraysUtil.copy(arr);
14         System.out.println(Arrays.toString(arr2));
15         System.out.println("----最大值----");
16         int max = arraysUtil.getMax(arr);
17         System.out.println(max);
18         System.out.println("----最小值----");
19         int min = arraysUtil.getMin(arr);
20         System.out.println(min);
21         System.out.println("----求和----");
22         int sum = arraysUtil.getSum(arr);
23         System.out.println(sum);
24         System.out.println("----平均值----");
25         int ave = arraysUtil.getAvg(arr);
26         System.out.println(ave);
27         System.out.println("----查找元素----");
28         int index = arraysUtil.getIndex(arr, -12);
29         System.out.println(index);
30         System.out.println("----反转数组----");
31         arraysUtil.reverse(arr);
32         System.out.println(Arrays.toString(arr));
33         System.out.println("----冒泡排序----");
34         arraysUtil.sort(arr);
35         System.out.println(Arrays.toString(arr));
36 
37     }
38 }

打印结果

 

posted @ 2021-01-06 19:58  dog_IT  阅读(153)  评论(0编辑  收藏  举报