Java动态数组是一种可以任意伸缩数组长度的对象,在Java中比较常用的是ArrayList,ArrayList是javaAPI中自带的java.util.ArrayList。下面介绍一下ArrayList作为Java动态数组的用法。
1.语法:add()是添加一个新的元素,
remove()删除一个元素,
size()获得ArrayList的长度。
ArrayList的下标是从0开始。
2.示例代码
import java.util.ArrayList
public class JavaArrayList {
public static void main(String[]args)
{
//Java动态数组的初始化
ArrayList al=new
ArrayList()
//向Java动态数组中添加数据
al.add("a")
al.add("b")
al.add("c")
//输出Java动态数组
for(int i=0i<al.size()i++)
{
String
alEach=(String)al.get(i)
System.out.println(alEach)
}
//删除数组中的某个元素,删除第二个元素
al.remove(1)
//修改Java动态数组,把新的元素放到第二个位置
al.add(1,"2")
//输出Java动态数组
for(int i=0i<al.size()i++)
{
String
alEach=(String)al.get(i)
System.out.println(alEach)
}
}
}
输出如下:
a
b
c
a
2
c
PS:java的一维动态数组一般是使用集合的:ArrayList,HashMap等
泛型:
ArrayList<T>a = new ArrayList<T>()
T是你数组里 存的类型
比如String类型的 比如int的
第一种写法:int[]i={1,2,3}
定义一个长度为3的整形数组
并且初始化值
第二种写法:int[]
i=new
int[2]定义一个长度为2的整形数组
并且没有初始化值
public class intArray {private int theSize=0
private int a_int[]={}
public intArray(int a[]){
this.a_int=a
this.theSize=a.length
}
public intArray(){
this.theSize=0
}
public int getSize(){
return this.theSize
}
public int getAt(int nIndex){
return this.a_int[nIndex]
}
public void SetAt(int nIndex , int newElement){
this.a_int[nIndex] =newElement
}
public void add(int nIndex){
int old[] = this.a_int
this.a_int= new int[this.theSize+1]
for(int i =0i<old.lengthi++){
a_int[i]= old[i]
}
if(this.theSize>0){
a_int[this.theSize]=nIndex
}else{
a_int[0]=nIndex
}
this.theSize++
}
public static void main(String args[]){
intArray array = new intArray()
array.add(1)
array.add(2)
array.add(3)
array.add(4)
array.add(5)
for(int i = 0i<array.getSize()i++){
System.out.println(array.getAt(i))
}
}
}
再给个任意类型的
public class myArray <AnyType>{
private int theSize=0
private AnyType theItem[]=null
public myArray(AnyType a[]){
this.theItem=a
this.theSize=a.length
}
public myArray(){
}
public int getSize(){
return this.theSize
}
public AnyType get(int nIndex){
return this.theItem[nIndex]
}
public void Set(int nIndex , AnyType newElement){
this.theItem[nIndex] =newElement
}
public void add(AnyType newVal){
AnyType old[]=this.theItem
this.theItem= (AnyType[]) new Object[theSize+1]
if(theSize!=0){
for(int i =0i<old.lengthi++){
this.theItem[i]= old[i]
}
}
this.theItem[this.theSize]=newVal
this.theSize++
}
public static void main(String args[]){
myArray<String>array = new myArray<String>()
array.add("1")
array.add("2")
array.add("3")
array.add("a")
array.add("b")
array.add("c")
for(int i =0i<array.theSizei++){
System.out.println(array.get(i))
}
}
}