如何在Java中实现ArrayList-创新互联

这篇文章给大家介绍如何在Java中实现ArrayList,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

成都创新互联是一家专注于做网站、网站设计与策划设计,罗平网站建设哪家好?成都创新互联做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:罗平等地区。罗平做网站价格咨询:028-86922220

如下所示:

package com.soto.collection;


public class SxtArrayList {
	private Object[] elementData;
	private int size;
	public int size(){
		return size;
	}
	public boolean isEmpty(){
		return size == 0;
	}
	
	
	public SxtArrayList(){
		this(10);
	}
	public SxtArrayList(int initialCapacity){
		if(initialCapacity<0){
			try {
				throw new Exception();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		elementData = new Object[initialCapacity]; //初始化 容量为10 
			
		
	}
	public void add(Object obj){
		elementData[size++] = obj; //若超过容量了,那么..数组扩容
		if(size==elementData.length){
			//实质:搞个新数组
			Object[] newarray = new Object[size*2+1];
			//数组的copy:
			System.arraycopy(elementData, 0, newarray, 0, elementData.length);
			elementData = newarray;
			
		}
		
	}
	public Object get(int index){
		rangeCheck(index);
		return elementData[index];
	}
	public void remove(int index){ 
		rangeCheck(index);
		
		 //删除指定位置对象,删除某位置,相当于 将后往前挪:
		int numMoved = size-index-1;
		if(numMoved>0){
			System.arraycopy(elementData, index+1, elementData, index, numMoved);
		}
	}
	public void remove(Object obj){
		for(int i=0;isize){
			try {
				throw new Exception();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		
		
	}
	public Object set(int index, Object obj){
		rangeCheck(index);
  Object oldValue = elementData[index];
  elementData[index] = obj;
  return oldValue;
	
	}
	public void add(int index, Object obj){
		rangeCheck(index);
		ensureCapacity(); //扩容
		System.arraycopy(elementData, index, elementData, index + 1,
    size - index);
		elementData[index] = obj;
		size++;
		
	}
	private void ensureCapacity(){
		//扩容
				if(size==elementData.length){
					//实质:搞个新数组
					Object[] newarray = new Object[size*2+1];
					//数组的copy:
					System.arraycopy(elementData, 0, newarray, 0, elementData.length);
					elementData = newarray;	
				}
	}
	
	public static void main(String[] args) {
		SxtArrayList list = new SxtArrayList(3);
		list.add("222");
		list.add("333");
		list.add("444");
		list.add("555");
		list.add("666");
		list.add("777");
		System.out.println(list.size());
		System.out.println(list.get(6));
	}
	
 
}
Java是什么

Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。

关于如何在Java中实现ArrayList就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站名称:如何在Java中实现ArrayList-创新互联
URL网址:http://scyanting.com/article/jggei.html