(Java)猛刷LeetCode——数组知识点篇

7 篇文章 0 订阅
7 篇文章 0 订阅

数组Array

在连续的内存空间中,存储一组相同类型的元素
在这里插入图片描述

元素:值
索引:数组的下标

数组访问(Access)和数组搜索(Search)
● 数组访问:索引

● 数组搜索:找2这个元素 数组中有没有
在这里插入图片描述

在这里插入图片描述
以下是数组的常规操作:数组创建、添加元素、访问元素、修改元素、删除元素、遍历数组、查找元素、数组的长度、数组排序(内置的排序方法)等

package org.Exercise;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;

/*
 * @author: 蛋宝
 * @date: 2024-03-20 21:51
 * @description: 关于数组
 * 数组创建、添加元素、访问元素、修改元素、删除元素、遍历数组、查找元素、数组的长度、数组排序(内置的排序方法)
 */
public class ArraysExc {
    public static void main(String[] args) {
        //    1.创建数组
        int[] a = {1, 2, 3};
        System.out.println("数组a:" + Arrays.toString(a));

        int[] b = new int[]{2, 5, 7};
        System.out.println("数组b:" + Arrays.toString(b));

        int[] c = new int[3];
        for (int i = 0; i < c.length; i++) {
            c[i] = i + 1;
        }
        System.out.println("数组c:" + Arrays.toString(c));

        ArrayList<Integer> arr = new ArrayList<>();
        for (int i = 0; i < 4; i++) {
            arr.add(i + 2);
        }
        System.out.println("数组arr:" + arr.toString());


//        2.添加元素
//        时间复杂度O(1)
        arr.add(99);
        System.out.println("数组arr:" + arr.toString());

//        时间复杂度O(N)
        arr.add(2, 67);
        System.out.println("数组arr:" + arr.toString());

//        3.访问元素
        int num1 = c[1];
        int num2 = arr.get(1);
        System.out.println("c1:" + num1);
        System.out.println("arr[1]:" + num2);

//        4.更新元素
        c[1]=99;
        arr.set(1,78);
        System.out.println(c[1]);
        System.out.println(arr.get(1));

//        5.删除元素
        arr.remove(1);
        System.out.println(arr.toString());
        System.out.println(arr.get(1));

//        6.数组长度
        int cSize = c.length;
        System.out.println(cSize);
        int arrSize = arr.size();
        System.out.println(arrSize);

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

        for (int i = 0; i < arr.size(); i++) {
            int current = arr.get(i);
            System.out.println("arr at index:" + current);
        }

//        8.查找元素
        for (int i=0;i<c.length;i++){
            if (c[i] == 99) {
                System.out.println("99在数组里");
            }
        }

        boolean is99 = arr.contains(99);
        System.out.println(is99);

//        数组排序
        c = new int[]{1, 5, 7};
        arr = new ArrayList<>();
        arr.add(2);
        arr.add(6);
        arr.add(5);
        System.out.println("c:"+Arrays.toString(c));
        System.out.println("arr:"+arr.toString());

        Arrays.sort(c);
        System.out.println("c:"+Arrays.toString(c));
        Collections.sort(arr);
        System.out.println("arr:"+arr.toString());

//        时间复杂度O(NlogN)
        Collections.sort(arr, Collections.reverseOrder());
        System.out.println("arr:"+arr);



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L念安dd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值