java动态数组arraylist_java动态数组arraylist该如何使用?什么是arraylist?

Java中有着许多数组,但是也分别动态数组与静态数组,ArrayList 就是其中一个动态数组,下面就让我们来看看它有哪些概念及如何使用吧。

一、ArrayList 是什么?

ArrayList集合:又名动态数组,可以容纳任意长度,任意类型的对象(不包括基本类型)List是有序的集合,所以和父接口Collection相比,多的是带下标的操作,它实现了Collection和List接口,能够灵活的设置数组的大小,它还能动态的增加和减少元素。

二、ArrayList 要怎么使用?

例1:package Collection;

//自己实现ArrayList to help understand unearneath

public class TestList

{

//核心就是数组

private Object[] elementData;

//数组的长度

private int size;

//空构造类

public TestList()

{

this(10);

}

//带参数的构造类.

public TestList(int initialCapacity)

{

//容量不能小于零

if (initialCapacity 

{

try

{

throw new Exception();

}

catch (Exception e)

{

e.printStackTrace();

}

}

elementData = new Object[initialCapacity];

}

//主要的方法ADD方法 。

public boolean add(Object o)

{

//数组扩容当这个size超过数组的长度就扩容

if (size + 1 > elementData.length)

{

//你以为事将数组扩大,实际事换一个地方存放

Object[] newArray = new Object[size * 2 + 1];

//将数据拷贝到新数组

for (int i = 0; i 

{

newArray[i] = elementData[i];

}

elementData = newArray;

}

//此时size进行了扩张

elementData[size++] = o;

return true;

}

//。size方法.

public int size()

{

return elementData.length;

}

//是否为空

public boolean isEmpty()

{

boolean f = false;

if (size == 0) f = true;

return f;

}

//获取对象

public Object get(int index)

{

//下标要进行判断

if (index = size)

{

try

{

throw new Exception();

}

catch (Exception e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

Object o = elementData[index];

return o;

}

//

public void remove(int index)

{

//下标要进行判断

if (index = size)

{

try

{

throw new Exception();

}

catch (Exception e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//进行判断。删除以后要将后面的迁移 。

//这个是后面有的多少个元素个数

int numMoved = size - index - 1;

//将后面的元素往前一个覆盖。都不用删除。

if (numMoved > 0)

System.arraycopy(elementData, index + 1, elementData, index, numMoved);

//删除指定对象

elementData[--size] = null;

}

//删除一个指定对象的

public void remove(Object index)

{

for (int i = 0; i 

{

//循环进行比较用EQUALSE判断.

}

}

public static void main(String args[])

{

//first ,depends arrylist.we need to create a number

//of array

//

TestList list = new TestList();

list.add("3");

list.add("3");

list.remove(1);

System.out.println("数组有多少元素:" + list.size);

System.out.println("数组有多少大:" + list.size());

System.out.println("数组是否为空:" + list.isEmpty());

//System.out.println("数组是否为空:"+list.get(1));

}

}

例2:ArrayList List = new ArrayList();

List.Add(“string”);

List.Add(1);

//往数组中添加不同类型的元素

object[] values = List.ToArray(typeof (object)); //正确

string[] values = (string[]) List.ToArray(typeof (string)); //错误

例3:ArrayList List = new ArrayList();

for (int i = 0; i 

List.Add(i);

//..程序做一些处理

List.RemoveAt(5); //将第6个元素移除

for (int i = 0; i 

List.Add(i + 20);

Int32[] values = (Int32[]) List.ToArray(typeof (Int32)); //返回ArrayList包含的数组

以上就是关于ArrayList的所有内容了,如若还需要了解更多相关java入门知识,就快来关注奇Q工具网吧。

推荐阅读:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值