使用基本数组类型创建可自扩展的数组类

2008-02-23 09:27:36来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

public class ChenqiArray {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
RisingsoftArray raOne=new RisingsoftArray();
int newLength=raOne.getArrayCount() 10;
for(int i=0;i<newLength;i ){
raOne.setItem(i,new Integer(i));
System.out.println("raOne.items[" i "]=" raOne.getItem(i));
}
newLength=raOne.getArrayCount() 5;
for(int i=0;i<newLength;i ){
raOne.setItem(i,new Integer(i));
System.out.println("raOne.items[" i "]=" raOne.getItem(i));
}
newLength=raOne.getArrayCount() 5;
raOne.setItem(newLength-1,new Integer(newLength-1));
for(int i=0;i<raOne.getArrayCount();i ){
System.out.println("raOne.items[" i "]=" raOne.getItem(i));
}
}
}


class RisingsoftArray{
private Object[] obj;
//constructor
public RisingsoftArray(int ArrayLength){
if(ArrayLength>=1){
obj=new Object[ArrayLength];
}
}
public RisingsoftArray(){
this(0);
}
public RisingsoftArray(Object[] obj){
this.obj=RisingsoftArray.cloneArray(obj);
}
//get the Array items count
public int getArrayCount(){
return (obj!=null)?obj.length:0;
}
//auto expand the Array and copy the items
public void expandArray(int n){
if(n>0 && n>getArrayCount()){
Object[] newObj=new Object[n];
for(int i=0;i<getArrayCount();newObj[i]=obj[i ]){}
obj=newObj;
}
}
//get Access
public Object getItem(int pos){
return (pos>=0 && pos<getArrayCount())?obj[pos]:null;
}
//set access
public void setItem(int pos,Object obj){
if(pos>=0 && pos<getArrayCount()){
this.obj[pos]=obj;
}
else if (pos>0||(pos==getArrayCount())) {
expandArray(pos 1);
setItem(pos,obj);
}
}
//clone a Array
public static Object[] cloneArray(Object[] obj){
if(obj.length<1){
return null;
}
else{
Object[] newObj=new Object[obj.length];
for(int i=0;i<obj.length;newObj[i]=obj[i ]){}
return newObj;
}
}
}

上一篇: 自定义SMTPAppender的源码
下一篇: 安裝Eclipse SVN Plugin

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Eclipse编程Tips(2)-让RCP自带JRE

下一篇:控制对类内部数据/函数成员访问的类