1.从尾部插入数据
2.从中间任意位置插入位置
3.按照下标位置删除元素,返回结果是被删除的元素
4.按照元素的内容来删除元素,返回true/false
5.根据下标获取元素
6.根据下标获取元素
7.判断元素是否存在
8.查找元素的位置(从前往后)
9.查找元素的位置(从后往前)
10.清空顺序表
11.求表中的有效元素个数
12.判断是否为空表
注:
1.打印的时候,需要重写toString方法
2.如果表长不够,需要扩容
具体实现如下:
package Test0201;
import java.util.Arrays;
class MyArrayListIndexOutOfRangeException extends RuntimeException{
public MyArrayListIndexOutOfRangeException(String message){
super(message);
}
}
public class MyArrayList{
private String[] data=null;
private int size=0;//当前顺序表中的有效元素个数
private int capacity=100;//最大容量
public MyArrayList(){
data=new String[capacity];
}
//扩容
private void realloc(){
capacity=2*capacity;
String[] newData= new String[capacity];
for(int i=0;i<data.length;i++){
newData[i]=data[i];
}
data=newData;
}
//1.把元素尾插到顺序表的末尾
public void add(String elem){
if(size>=capacity){
realloc();
}
data[size]=elem;
size++;
}
//2.把元素插入到任意中间位置
public void add(int index,String elem){
if(index<0||index>size){
return;
}
if(size>=capacity){
realloc();
}
for(int i=size-1;i>=index;i--){
data[i+1]=data[i];
}
data[index]=elem;
size++;
}
//3.按照下标位置删除元素,返回结果就是被删除的元素
public

本文介绍了一个自定义的ArrayList类的实现细节,包括基本操作如添加、删除、查询等,并通过示例展示了如何使用这些功能。
最低0.47元/天 解锁文章
1878





