java自己实现顺序线性表ArrayList
2017-12-03 09:32
549 查看
package my.list;
public class MyList {
privateObject[] elementData;
private intsize;
publicMyList() {
this(10);
}
publicMyList(int initLength) {
elementData = new Object[initLength];
}
public intsize() {
return size;
}
public intlength() {
return elementData.length;
}
publicboolean isEmpty() {
return size == 0;
}
public voidexpandLength() {
//先把以前的内容拷贝到新数组
Object[] newArray = new Object[elementData.length* 2];
for(int i=0; i
newArray[i] = elementData[i];
}
elementData = newArray;
System.out.println("扩容成功");
}
publicboolean add(Object obj) {
if(size == elementData.length) {
expandLength();
}
elementData[size] = obj;
size++;
return true;
}
publicboolean add(int index,Object obj) {
if(index < 0 || index > size) {
try {
throw new Exception();
} catch(Exception e) {
e.printStackTrace();
}
}
if(size == elementData.length) {
expandLength();
}
//System.arraycopy(elementData, index,elementData, index+1, size-index);
for(int i=index; i
elementData[index + 1] =elementData[index];
}
elementData[index] = obj;
size++;
return true;
}
publicboolean remove(int index) {
if(index < 0 || index >= size) {
try {
throw new Exception();
} catch(Exception e) {
e.printStackTrace();
}
}
//System.arraycopy(elementData, index+1,elementData, index, size-index-1);
for(int i=index; i
elementData[index] = elementData[index +1];
}
elementData[--size] = null;
return true;
}
public voidremove(Object obj) {
for(int i=0; i< size; i++) {
if(get(i).equals(obj)) {
remove(i);
break;
}
}
}
publicboolean set(int index,Object obj) {
if(index < 0 || index >= size) {
try {
throw new Exception();
} catch(Exception e) {
e.printStackTrace();
}
}
elementData[index] = obj;
return true;
}
publicObject get(int index) {
if(index<0 || index>size) {
try {
throw new IndexOutOfBoundsException();
} catch(Exception e) {
e.printStackTrace();
}
}
return elementData[index];
}
public voidprint() {
for(int i=0; i
System.out.println(elementData[i]);
}
}
}
public class MyList {
privateObject[] elementData;
private intsize;
publicMyList() {
this(10);
}
publicMyList(int initLength) {
elementData = new Object[initLength];
}
public intsize() {
return size;
}
public intlength() {
return elementData.length;
}
publicboolean isEmpty() {
return size == 0;
}
public voidexpandLength() {
//先把以前的内容拷贝到新数组
Object[] newArray = new Object[elementData.length* 2];
for(int i=0; i
newArray[i] = elementData[i];
}
elementData = newArray;
System.out.println("扩容成功");
}
publicboolean add(Object obj) {
if(size == elementData.length) {
expandLength();
}
elementData[size] = obj;
size++;
return true;
}
publicboolean add(int index,Object obj) {
if(index < 0 || index > size) {
try {
throw new Exception();
} catch(Exception e) {
e.printStackTrace();
}
}
if(size == elementData.length) {
expandLength();
}
//System.arraycopy(elementData, index,elementData, index+1, size-index);
for(int i=index; i
elementData[index + 1] =elementData[index];
}
elementData[index] = obj;
size++;
return true;
}
publicboolean remove(int index) {
if(index < 0 || index >= size) {
try {
throw new Exception();
} catch(Exception e) {
e.printStackTrace();
}
}
//System.arraycopy(elementData, index+1,elementData, index, size-index-1);
for(int i=index; i
elementData[index] = elementData[index +1];
}
elementData[--size] = null;
return true;
}
public voidremove(Object obj) {
for(int i=0; i< size; i++) {
if(get(i).equals(obj)) {
remove(i);
break;
}
}
}
publicboolean set(int index,Object obj) {
if(index < 0 || index >= size) {
try {
throw new Exception();
} catch(Exception e) {
e.printStackTrace();
}
}
elementData[index] = obj;
return true;
}
publicObject get(int index) {
if(index<0 || index>size) {
try {
throw new IndexOutOfBoundsException();
} catch(Exception e) {
e.printStackTrace();
}
}
return elementData[index];
}
public voidprint() {
for(int i=0; i
System.out.println(elementData[i]);
}
}
}
相关文章推荐
- 线性表在Java类库中的顺序表示及实现——ArrayList
- 数据结构—顺序表(自己实现Java的ArrayList)
- JAVA数据结构 线性表顺序是实现
- 线性表--顺序储存结构 java实现
- 顺序表(ArrayList)java实现
- 线性表 顺序存储 链式存储 ---java实现
- JAVA采用数组结构实现一个线性表,可以增删改查,类似于ArrayList
- Java,数据结构,线性表,顺序实现
- 顺序线性表 ---- ArrayList 源码解析及实现原理分析
- ArrayList线性表Java实现
- JAVA实现线性表顺序存储结构ArrayList
- 自己理解的java.util.ArrayList(二)实现类
- 【java集合】自己实现简易的ArrayList
- Java -- 自己实现数组列表(Arraylist)
- 线性表 顺序存储 链式存储 ---java实现
- [JAVA]集合框架之自己实现一个具有基本增查删改功能的ArrayList
- JAVA--自己实现ArrayList
- Java实现线性表(顺序表)
- 用Java实现线性表中的顺序存储的学习和源码(合并两个线性表)
- 自己用java实现LinkList和arrayList