数据结构是什么?
.
.
动态数组
.
.
.
Person.java
package com.rnny;
/**
* @author 软柠柠吖(Runny)
* @date 2023-01-03
*/
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
protected void finalize() throws Throwable {
System.out.println("Person - finalize");
}
}
Assert.java
package com.rnny;
/**
* @author 软柠柠吖(Runny)
* @date 2023-01-01
*/
public class Assert {
public static void test(boolean value) {
try {
// if (value) {} 与 if (!value) {}❓
// 答:if (value):表示 value 为 true 时,执行 if 语句
// => 简单理解为:当 value 是真的时,执行 if 语句(额……有点多余)
// if (!value):表示 value 为 false 时,执行 if 语句
// => 简单理解为:当 value 为假的时,执行 if 语句。
// 总结:value => true ==> if (value) {}
// value => false ==> if (!value) {}
if (!value) {
throw new Exception("测试未通过❗");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
ArrayList.java
ArrayList<E>
.
package com.rnny;
/**
* @author 软柠柠吖(Runny)
* @date 2023-01-01
*/
@SuppressWarnings("unchecked")
public class ArrayList<E> {
}
成员变量
/**
* 元素的数量
*/
private int size;
/**
* 所有的元素
*/
private E[] elements;
/**
* 默认容量 <br>
* static:保证变量的内存空间仅此一份
*/
private static final int DEFAULT_CAPACITY = 16;
/**
* 元素未发现
*/
private static final int ELEMENT_NOT_FOUND = -1;
构造函数
.
public ArrayList() {
// this(参数):调用有参构造
this(DEFAULT_CAPACITY);
}
public ArrayList(int capacity) {
// > VS <(大于号与小于号如何区分❓)
// 答:从左向右看(正常看的顺序),如果为大头,则为大于号 '>'
// 如果为小头,则为小于号 '<'
// 等价于:capacity = Math.max(capacity, DEFAULT_CAPACITY);
capacity = capacity < DEFAULT_CAPACITY ? DEFAULT_CAPACITY : capacity;
this.size = 0;
// 对象数组中每个位置存储的是什么❓
// 答:地址❗对象数组中存储的是对象的地址,而不是具体的对象。
// 如果存储的是具体的对象,那 Object 就没法用了,这样设计也不好
// 因为具体对象的大小不确定,无法用 Object[] 接收。
// 存储地址就能完美的解决这个问题
标签:03,elements,return,index,int,ArrayList,CustomDynamicArray,element,size
From: https://www.cnblogs.com/rnny/p/17022361.html