Java基础-----数组和数据存储

Java基础-----数组和数据存储


一、数组的概念

在这里插入图片描述

1.1、数组的定义*****

在这里插入图片描述

数组是相同类型数据的有序集合
其中 每一个数据称作一个元素
每一个元素可以通过一个索引(下标)来访问他们

1.2、数组的四个特点

在这里插入图片描述

1.3、数组的内存分析

在这里插入图片描述

1.4、数组的三种初始化方式

1.4.1、数组的静态初始化

在这里插入图片描述
在这里插入图片描述

1.4.2、数组的动态初始化

在这里插入图片描述
在这里插入图片描述

1.4.3、数组的默认初始化

在这里插入图片描述
.png)
在这里插入图片描述


二、数组的常见操作

在这里插入图片描述
在这里插入图片描述

2.1、数组的遍历

在这里插入图片描述

扫描二维码关注公众号,回复: 13506612 查看本文章

2.2、普通遍历*****

在这里插入图片描述

2.3、for-each遍历

在这里插入图片描述
在这里插入图片描述

2.4、java.uti.Arrary类用法

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.5、数组的拷贝*****

package com.company.arr;

import java.util.Arrays;

public class copyArr {
    
    
    public static void main(String[] args) {
    
    


        Man[] mans = new Man[10];

        Man man1 = new Man(1, "oyc");
        Man man2 = new Man(2, "abc");
        Man man3 = new Man(3, "bcd");
        Man man4 = new Man(4, "efg");
        Man man5 = new Man(5, "gds");
        Man man6 = new Man(6, "adf");
        Man man7 = new Man(7, "aaa");
        Man man8 = new Man(8, "ccc");
        Man man9 = new Man(9, "ddd");
        Man man10 = new Man(10, "sdc");
        mans[0] = man1;
        mans[1] = man2;
        mans[2] = man3;
        mans[3] = man4;
        mans[4] = man5;
        mans[5] = man6;
        mans[6] = man7;
        mans[7] = man8;
        mans[8] = man9;
        mans[9] = man10;
        System.out.println("----------------------------------------------------");
        Man[] manss = new Man[5];
        Man manss1 = new Man(1, "oyc");
        Man manss2 = new Man(2, "abc");
        manss[0] = manss1;
        manss[1] = manss2;
        System.out.println("manss数组:"+Arrays.toString(manss));

//        進行拷貝

        //复制源  从复制源的0开始      目标源  从目标的2开始    长度上:复制三个数到目标上去
       System.arraycopy(mans ,0,manss ,2,3);

        System.out.println("manss数组:"+Arrays.toString(manss));

        System.out.println("------------------------");


        System.out.println("mans数组:"+Arrays.toString(mans));

    }
}

在这里插入图片描述


三、多维数组

3.1、多维数组内存结构*****

在这里插入图片描述
在这里插入图片描述

3.1.1、二维数组的静态初始化

在这里插入图片描述

3.1.2、二维数组的动态初始化

在这里插入图片描述

3.1.3、二维数组默认初始化

在这里插入图片描述

3.2、多维数组存储表格

在这里插入图片描述

3.3 、Javabean和数据结构*****

package com.company.arr;



public class ObjectArr implements Comparable {
    
    

    private int id ;
    private String name ;
    private int age ;
    private String title ;
    private String date ;


    public ObjectArr(int id, String name, int age, String title, String date) {
    
    
        this.id = id;
        this.name = name;
        this.age = age;
        this.title = title;
        this.date = date;
    }

    @Override
    public String toString() {
    
    
        final StringBuilder sb = new StringBuilder("ObjectArr{");
        sb.append("id=").append(id);
        sb.append(", name='").append(name).append('\'');
        sb.append(", age=").append(age);
        sb.append(", title='").append(title).append('\'');
        sb.append(", date='").append(date).append('\'');
        sb.append('}');
        return sb.toString();
    }

    public int getId() {
    
    
        return id;
    }

    public void setId(int id) {
    
    
        this.id = id;
    }

    public String getName() {
    
    
        return name;
    }

    public void setName(String name) {
    
    
        this.name = name;
    }

    public int getAge() {
    
    
        return age;
    }

    public void setAge(int age) {
    
    
        this.age = age;
    }

    public String getTitle() {
    
    
        return title;
    }

    public void setTitle(String title) {
    
    
        this.title = title;
    }

    public String getDate() {
    
    
        return date;
    }

    public void setDate(String date) {
    
    
        this.date = date;
    }


    @Override
    public int compareTo(Object o) {
    
    
        ObjectArr objectArr = (ObjectArr) o ;
        if(this.id < objectArr.id){
    
    
            return -1;
        }
        if(this.id == objectArr.id){
    
    

            return 0 ;
        }
        if(this.id > objectArr.id){
    
    
            System.out.println(this.id);
            return 1 ;
        }
        return 0;
    }


}

package com.company.arr;

import java.util.Arrays;

public class Main01 {
    
    
    public static void main(String[] args) {
    
    
//        ObjectArr objectArr1 = new ObjectArr(100 ,"欧阳冲",23,"架构师","2023.10.01");
//        ObjectArr objectArr2 = new ObjectArr(101 ,"朱海龙",23,"java工程师","2023.10.01");
//        ObjectArr objectArr3 = new ObjectArr(102 ,"赵徐利",23,"销售经理","2023.10.01");
//        ObjectArr objectArr4 = new ObjectArr(103 ,"刘振华",20,"项目经理","2023.10.01");
//        ObjectArr objectArr5 = new ObjectArr(104 ,"王恒升",22,"项目经理","2023.10.01");
//        ObjectArr objectArr6 = new ObjectArr(105 ,"徐章志",19,"项目经理","2023.10.01");
        ObjectArr objectArr7 =new ObjectArr(301 , "韩信",18,"将军","2010-12");
        ObjectArr objectArr8 =new ObjectArr(102 , "赵云",20,"将军","2010-12");
        ObjectArr objectArr9 =new ObjectArr(13 , "诸葛亮",25,"丞相","2010-12");

        Object[] objectArrr = new Object[6];
//        objectArrr[0] =  objectArr1;
//        objectArrr[1] =  objectArr2;
//        objectArrr[2] = objectArr3;
//        objectArrr[3] = objectArr4;
//        objectArrr[4] = objectArr5;
//        objectArrr[5] = objectArr6;
        objectArrr[0] = objectArr7;
        objectArrr[1] = objectArr8;
        objectArrr[2] = objectArr9;

//        for (Object object: objectArrr) {
    
    
//            System.out.println(object);
//        }


        for (int i = 0; i <objectArrr.length ; i++) {
    
    
            System.out.println(objectArrr[i]);
        }



    }
}

在这里插入图片描述


四、 comparable接口

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


五、 常见算法

5.1、冒泡排序基础算法

在这里插入图片描述

package com.company.arr;

import java.util.Arrays;

public class BubbleSort {
    
    
    public static void main(String[] args) {
    
    
        int [] arr = new int[]{
    
    1,6,8,5,12,32};
        System.out.println(Arrays.toString(arr));




        int temp = 0 ;
        for (int i = 0; i < arr.length; i++) {
    
    
            for (int j = 0; j < arr.length - 1 ; j++) {
    
    
                if(arr[j] > arr[j+1]){
    
    

                    temp = arr[j] ;

                    arr[j]  = arr[j+1] ;

                    arr[j+1] = temp ;
                }
            }
        }
        System.out.println(Arrays.toString(arr));


    }
}

在这里插入图片描述

5.2、冒泡排序优化算法*****

在这里插入图片描述

5.3、二分法查找(折半查找)

在这里插入图片描述


总结

数组中的定义、特点、将表格变数组、冒泡算法

猜你喜欢

转载自blog.csdn.net/qq_48788523/article/details/121696366