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、二分法查找(折半查找)
总结
数组中的定义、特点、将表格变数组、冒泡算法