Java高级篇-5-Arrays类

       前面介绍了字符串的操作的String类,这篇,我们学习数组类,Java中提供了一个数组常见操作方法的类Arrays.java。其实前面也说过,String其实源码中就是用一个char[]数组来存储的,也是属于数组的范围。来看看数组类常见操作方法举例。

1.数组的创建和元素遍历

package demo3;

import java.util.Arrays;

/**
 * create by Anthony on 2017/10/29
 */
public class ArraysDemo {

    public static void main(String args[]){

        //数组创建1,基础数据类型数组
        int[] numbers = new int[12];

        //引用数据类型数据创建,100是数组长度
        String[] st = new String[100];
        // 先声明
        int[] myArray ;
        myArray = new int[10];

        //声明后直接赋值
        int[] a = {40, 20, 50, 10, 60, 30};

        //需求:输出数组每个元素的位置和值
        System.out.println("第1种遍历数组元素方式");
        for(int i=0; i<a.length; i++){
            System.out.println(i+ "\t"+a[i]);

        }

        //第二种for循环比遍历数组元素
        System.out.println("第2种遍历数组元素方式");
        for(int x : a){
            //System.out.println("\t"+x);
            System.out.print("\t"+x);
        }

    }
}

输出结果:

第1种遍历数组元素方式
0	40
1	20
2	50
3	10
4	60
5	30
第2种遍历数组元素方式
	40	20	50	10	60	30

2.数组中元素查找和替换和排序

       主要有根据索引查找元素,根据索引替换元素的值,排序Java提供了从小到大排序,这里我写了一个从大到小的逆序,前提是基于从小到大排好序的数组。

package demo3;

import java.lang.reflect.Array;
import java.util.Arrays;

/**
 * create by Anthony on 2017/10/29
 */
public class ArraysDemo {

    public static void main(String args[]){

        int[] a = {40, 20, 50, 10, 60, 30};
        //利用Array类的静态方法
        //根据索引得到元素
        int b = Array.getInt(a, 2);
        System.out.println(b);

        //修改某一个元素额值
        Array.set(a,2,80);
        System.out.println(Arrays.toString(a));

        //排序(从小到大)
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));

        //排序(从大到小),前提是利用前面已经排好的数组
        int len = a.length;
        for(int i=0; i<len/2; i++){
            int temp = a[i];
            a[i] = a[len-1-i];
            a[len-1-i] = temp;
        }
        System.out.println("逆序后:"+Arrays.toString(a));

        //比较两个数组是否相等
        int[] c = {10, 20 , 30 , 50 , 70};
        System.out.println(Arrays.equals(a, c));
    }
}

注意,上面用了两个类的静态方法,Array和Arrays类。运行结果:

50
[40, 20, 80, 10, 60, 30]
[10, 20, 30, 40, 60, 80]
逆序后:[80, 60, 40, 30, 20, 10]
false

下一篇,我们来利用数组来学习Java中的浅拷贝和深拷贝。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值