数据结构java代码数组和链表
    本文将介绍使用Java实现常用数据结构的代码,包括数组、链表、栈、队列、树、图等。
    1. 数组
    数组是一种线性数据结构,它由相同类型的元素组成,并按照一定顺序排列。我们可以使用Java中的数组来实现它,下面是一个示例代码:
    ```
    public class Array {
    private int[] data;
    private int size;
    // 构造函数,传入数组的容量capacity构造Array
    public Array(int capacity){
    data = new int[capacity];
    size = 0;
    }
    // 无参构造函数,默认数组的容量capacity=10
    public Array(){
    this(10);
    }
    // 获取数组的容量
    public int getCapacity(){
    return data.length;
    }
    // 获取数组中的元素个数
    public int getSize(){
    return size;
    }
    // 返回数组是否为空
    public boolean isEmpty(){
    return size == 0;
    }
    // 在index位置插入一个新元素e
    public void add(int index, int e){
    if(index < 0 || index > size)
    throw new IllegalArgumentException('Add failed. Require index >= 0 and index <= size.');
    if(size == data.length)
    resize(2 * data.length);
    for(int i = size - 1 ; i >= index ; i --)
    data[i + 1] = data[i];
    data[index] = e;
    size ++;
    }
    // 在所有元素前添加一个新元素
    public void addFirst(int e){
    add(0, e);
    }
    // 向所有元素后添加一个新元素
    public void addLast(int e){
    add(size, e);
    }
    // 获取index索引位置的元素
    public int get(int index){
    if(index < 0 || index >= size)
    throw new IllegalArgumentException('Get failed. Index is illegal.');
    return data[index];
    }
    // 修改index索引位置的元素为e
    public void set(int index, int e){
    if(index < 0 || index >= size)
    throw new IllegalArgumentException('Get failed. Index is illegal.');
    data[index] = e;
    }
    // 查数组中是否有元素e
    public boolean contains(int e){
    for(int i = 0 ; i < size ; i ++){
    if(data[i] == e)
    return true;
    }
    return false;