Java数组学习笔记

数组的三种创建方法

public static void main(String[] args) {
//创建数组的第一种方法
int[] arr=new int[6];
int intValue=arr[5];
//System.out.println(intValue);
//创建数组的第二种方法
int[] x={1,2,3,4};
//System.out.println(x[1]);

//创建数组的第三种方法。
int[] y= new int[]{1,2,3,4,5};
int m=0;
boolean length = isLength(m,y);
if(length){
System.out.println(y[m]);
}else{
System.err.println("数组标越界");
}

}
//判断数组下标是否越界
public static boolean isLength(int m,int arr[]){
boolean flag=false;
int length = arr.length;
if(m<length)
flag=true;
return flag;
}

java的arrayCopy用法

arrayCopy( arr1, 2, arr2, 5, 10);

意思是;将arr1数组里从索引为2的元素开始, 复制到数组arr2里的索引为5的位置, 复制的元素个数为10个.

举例:
Int[] arr1 ={1,2,3,4,5};

arrayCopy(arr1, 3, arr1, 2, 2);

意思是:将arr1从数字4开始 拷贝到arr1的数字3的位置, 拷贝2个数, 也就是说将4和5 拷贝到数字3的位置.
元素4,5替换掉元素3,4;最后arr1的结果应该是{1,2,4,5,5}.

Java 中的Arrays.sort()方法

Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,非常的好用。

int[] ints=new int[] {1,6,2,3,9,4,5,7,8};
    System.out.println("从小开始排序");
    Arrays.sort(ints);
    
    for(int i=0;i<ints.length;i++) {
        System.out.print(ints[i]+" ");
    }

输出结果:


image.png

找出最大值及其下标

int[] a = {18,25,7,36,13,2,89,63};
    int max = a[0];
    int maxIndex = 0;
    for(int i=1;i<a.length;i++) {
        if(max<=a[i]) {
            max=a[i];    //如果遍历下标大于max的下标0的值,则交换位置。
            maxIndex = i;   //遍历下标最大值赋值给maxIndex。
        }
    }
    System.out.println("最大值为:"+max+"最大值下标为:"+maxIndex);

输出结果:


image.png

将一个数组中的元素逆序存放

Scanner s = new Scanner(System.in);
    int a1[] = new int [20];
    System.out.println("请输入多个正整数(输入-1表示结束):");
    int i=0;
    do {
        a1[i]=s.nextInt();
        i++;
    }while (a1[i-1]!=-1);
    System.out.println("你输入的数组为:");
      for(int j=0;j<i-1; j++) {
          System.out.print(a1[j]+" ");
      }
        System.out.print("\n数组逆序输出为:");
        for(int j=i-2; j>=0;j=j-1) {
            System.out.print(a1[j]+" ");
        }
image.png

利用Arrays.sort()方法实现减序排序

System.out.println("\n减序排序后顺序");
     //要实现减序排序,得通过包装类型数组,基本类型数组是不行的
     Integer[] integers=new Integer[]{20,300,4,4,6,3};
     Arrays.sort(integers, new Comparator<Integer>()
     {
        
         public int compare(Integer o1, Integer o2)
         {
             return o2-o1;
         }


         public boolean equals(Object obj)
         {
             return false;
         }
     });
     for (Integer integer:integers)
     {
         System.out.print(integer+" ");
     }

输出结果:


image.png

冒泡排序

int[] arr= {90,45,1,13,89,7};
for(int j=0;j<arr.length;j++) {  //循环的次数
            for(int i=0;i<arr.length-j-1;i++) { //比较的次数 执行的速度快 时间复杂度小
                if(arr[i]>arr[i+1]) {
                    int temp=arr[i];
                    arr[i]=arr[i+1];
                    arr[i+1]=temp;
                }
            }
System.out.println("第"+(j+1)+"次循环"+Arrays.toString(arr));
        }

输出结果:


image.png

给定一维数组,计算出数组中的平均值、最大值、最小值。

 int a[] = new int[]{ -10,23,246,-100,0,5};
     int max = a[0];
     int min = a[0];
     int add = a[0];
     for(int i =1;i<a.length;i++){
         if(a[i]< min){
             min = a[i];
         }else if(a[i]>max){
             max = a[i];
         }
         add = add+a[i];
     }
    System.out.println("最小值:"+min);
    System.out.println("最大值:"+max);
System.out.println("平均值:"+add/a.length);

输出结果:


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、Java 实例 – 数组排序及元素查找:使用sort()方法对Java数组进行排序,使用 binarySear...
    JWking阅读 534评论 0 1
  • 第五章 数组 数组是一个基础的数据结构,它用来存储一组相同类型的元素的集合。数组非常有用,例如Java提供的集合...
    光剑书架上的书阅读 537评论 0 6
  • //JS数组常用方法及其应用/** * 1.push(): 向数组尾部添加一个或多个元素,并返回添加新元素后的数组...
    李二狗的星球阅读 497评论 0 0
  • DAY 01 JAVA简述 Java是由SUN公司在1995年推出的一门高级编程语言,是现今服务器端的首选编程语言...
    周书达阅读 1,031评论 0 0
  • 第十一章 持有对象 Java实用类库还提供了一套相当完整的容器类来解决这个问题,其中基本的类型是List、Set、...
    Lisy_阅读 861评论 0 1