List(主要的两种实现类)

List定义: List集合代表一个元素有序、可以重复的集合,集合中每个元素都有其对应的顺序索引(List集合默认以元素的添加顺序作为索引)。

List的实现类:

1.ArrayList: ArrayList是一个List(接口)的实现类,因此List和Collection中的方法都在它里面实现了。ArrayList底层是用数组实现的,因此查询效率高,删除和添加效率低下。 下面是手动实现基本的ArrayList的代码:

package collection.arraylist;

public class Collectontest {
   
    private Object[] element;
    private int size;
    private static final int QW_RE = 10;

//    定义构造器
    public Collectontest(){
   
    }

    public Collectontest(int size){
   
        if (size < 0){
   
            throw new RuntimeException("容器的大小不合法");
        }
        else if (size == 0){
   
            element = new Object[QW_RE];
        }
        else
            element = new Object[size];
    }
//  将元素添加进去容器中
    public void add(String s){
   
//      数组的扩容
        if (size == element.length){
   
//          采用jdk底层的扩容原理
            Object[] newArray = new Object[element.length + (element.length>>1)];
            System.arraycopy(element,0,newArray,0,element.length);
            element = newArray;
        }
        element[size++] = s;
    }
    //重写toString方法
    @Override
    public String toString(){
   
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append('[');
        for (int i =0;i < size;i++){
   
            stringBuilder.append(element[i]);
            if (i != size-1){
   
                stringBuilder.append(',');
            }
            else
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值