java数组链表实现,用java数组实现基本链表和可自扩充的链表

package com.tongji.szx.base;

import com.tongji.szx.baseDao.ListInterface;

public class ExtendList implements ListInterface{

private T[] entry;

private int length;

private int capacity;

private static final int BASE_LENGTH=10;

/**

* 默认的构造函数

*/

public ExtendList(){

this(BASE_LENGTH);

}

@SuppressWarnings("unchecked")

/**

* 提供一个初始链表长度的构造函数

*/

public ExtendList(int intLength){

if(intLength>0){

this.length=intLength;

this.capacity=intLength;

entry=(T[])new Object[intLength];

}else{

this.length=BASE_LENGTH;

this.capacity=BASE_LENGTH;

entry=(T[])new Object[BASE_LENGTH];

}

}

@Override

/**

* 在链表的末尾插入元素

*/

public boolean add(T anEntry) {

// TODO Auto-generated method stub

try{

if(length==capacity){

copyEntry();

}

entry[length]=anEntry;

length++;

return true;

}catch(Exception e){

return false;

}

}

@SuppressWarnings("unchecked")

private void copyEntry(){

T[] newEntry=entry;

this.capacity*=2;

entry=(T[])new Object[this.capacity];

for(int index=0;index

entry[index]=newEntry[index];

}

}

31/3123>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值