Java 数组的常用操作

1.创建数组

import java.util.ArrayList;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        //Solution 1
        int[] a={1,2,3};
        System.out.println("a:"+Arrays.toString(a));
        //Solution 2
        int[] b=new int[]{1,2,3};
        System.out.println("b:"+Arrays.toString(b));
        //Solution 3
        int[] c=new int[3];
        for(int i=0;i<a.length;i++){
            c[i]=i+1;
        }
        System.out.println("c:"+Arrays.toString(c));
        //Solution 4 int是数据类型,Integer对象 ArrayList不需要指定元素
        ArrayList<Integer> arr=new ArrayList<>();
        for(int i=0;i<3;i++){
            arr.add(i+1);
        }
        System.out.println("arr:"+arr.toString());
    }
}

2.添加元素

        //添加元素(首选ArrayList 长度未知)
        //时间复杂度O(1)放在末尾 O(n)任何位置添加
        arr.add(99);
        System.out.println("arr:"+arr.toString());
        //O(n)任何位置添加 其中3为索引位置,88为添加的数字
        arr.add(3,88);
        System.out.println("arr:"+arr.toString());

 3.访问元素

        //访问元素 时间复杂度O(1) 1为索引地址
        int c1=c[1];
        int arr1=arr.get(1);
        System.out.println("c1:"+c1);
        System.out.println("arr:"+arr1);

4.更新元素

        //更新元素 时间复杂度O(1)
        // 1为索引 11为更改值
        c[1]=11;
        arr.set(1,11);
        System.out.println("c:"+c[1]);
        System.out.println("arr:"+arr.get(1));

5.删除元素

        //删除元素 时间复杂度O(N)
        arr.remove(3);
        System.out.println("arr1:"+arr.get(1));

 6.数组长度

        //数组长度 时间复杂度O(1)
        int cSize=c.length;
        int arrSize=arr.size();
        System.out.println("c length:"+cSize);
        System.out.println("arr length:"+arrSize);

7.遍历数组 

        //遍历数组
        //遍历C
        for(int i=0;i<c.length;i++){
            int current=c[i];
            System.out.println("c at index "+i+":"+current);
        }
        //遍历 arr
        for(int i=0;i<arr.size();i++){
            int current=arr.get(i);
            System.out.println("arr at index "+i+":"+current);
        }

8.查找元素

        //查找元素
        //查找元素在C
        for(int i=0;i<c.length;i++){
            if(c[i]==99){
                System.out.println("We found 99 in C!");
            }
        }
        //查找元素在arr
        boolean is99=arr.contains(99);
        System.out.println("Are we found 99 in arr?" +is99);

9.数组排序 


        //数组排序
        c=new int[]{2,3,1};
        arr= new ArrayList<>();
        arr.add(2);
        arr.add(3);
        arr.add(1);
        System.out.println("c:"+Arrays.toString(c));
        System.out.println("arr:"+arr.toString());
        //排序C O(nlogn)
        Arrays.sort(c);
        System.out.println("c:"+Arrays.toString(c));
        //排序arr
        Collections.sort(arr);
        System.out.println("arr:"+arr);
        //从大到小
        //数组C从后向前读取
        //int[c]转换成Integer[]c
        //Arrays.sort(T[],Colllections.reverseOrder());
        //arr
        Collections.sort(arr,Collections.reverseOrder());
        System.out.println("arr:"+arr);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值