黑马程序员技术交流社区

标题: 模仿ArrayList源码写了自己的一个简单的集合类 [打印本页]

作者: I空空    时间: 2014-12-21 22:56
标题: 模仿ArrayList源码写了自己的一个简单的集合类
public class SimpleCollection <T>
{

private int index;
private T objArr[];//定义一个空数组

public SimpleCollection()//构造一个初始化容量为0的列表
{
  objArr=(T[])new Object[100];
  //这个地方类型转化要注意:objArr=new T[100]会出现编译报错
  //如果协会曾objArr=new Object[100]还是会编译报错,因为是Object数组,
  //Object数组中可以顶以任何类型的,而T[]毕竟知识指定类型的数组,大家要注意
  
}
public SimpleCollection(int capacity)//构造一个具有指定容量的列表
{
  
  objArr=(T[])new Object[capacity];
}


public void add(T obj)//添加
{
  this.objArr[index++]=obj;
}

public T get(int index)//获取
{
  return this.objArr[index];
  
}
public int getLength()//获取集合长度
{
  return index;
}

public boolean isEmpty()//判断集合是否为空
{
  if(index==0)
   return true;
  else
   return false;
}
public static void sop(Object jj)//这是一个方面输出的方法,方便输出
{
  
  System.out.println(jj);
}

public static void main(String[] args)
{
  
  SimpleCollection<String> simple1=new SimpleCollection<String>();
  SimpleCollection<Integer> simple2=new SimpleCollection<Integer>(34);
  
  simple1.add("nihao");
  simple1.add("wohenhao");
  
  sop(simple1.get(1));
  sop(simple1.getLength());
  
  simple2.add(new Integer(2));
  simple2.add(new Integer(30));
  
  sop(simple2.get(1));
  sop(simple2.get(0));
  
  sop(simple2.isEmpty());
  
  
  
  
  
}
  
}


作者: 赵越海    时间: 2014-12-21 23:14
本帖最后由 赵越海 于 2016-7-8 17:35 编辑

         .
作者: 云兮丶    时间: 2014-12-22 07:14
:lol顶一个! 不错
作者: 钟道上    时间: 2014-12-22 09:05
不错啊,嘿嘿
作者: duluhua    时间: 2014-12-22 10:00
厉害啊,学习了,我也尝试着写下




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2