java 集合代码_java集合List学习(结合源代码)

一、首先,我们来一个简单的程序

81178cc93a2a3bb5048d90d76e7ec935.png

69c5a8ac3fa60e0848d784a6dd461da6.png

importjava.util.ArrayList;importjava.util.List;public classPerson {public static voidmain(String[] args) {

Person p1= newPerson();

Person p2= newPerson();

List list= new ArrayList();//List是一个接口

list.add(p1);

list.add(p2);//这里是将对象加入到list中

for(int i=0;i

Person p=(Person)list.get(i);//注意,这里一定要强制类型转换,因为List中取出的对象都是Object类型的,希望对你有所帮助

}

}

}

69c5a8ac3fa60e0848d784a6dd461da6.png

这个程序本身没有太大的特别之处,但是我们从一些简单的语句里面可以看到Java中的List集合的实现;

首先List是一个接口,查看下源代码:

095db1ff09e4f73b1354b7ea7cd3d01b.png

确实是一个接口,而且是继承自泛型类Collection的一个List的接口;

我们在看看ArrayList源代:

b93bc49ee710d590bb2ac9c62d5d2607.png

ArrayList是一个泛型类继承自AbstractList;

在进一步,我们查看AbstractList源代码:

8a62a76a5bafc6d595ae27da4c38fc38.png

AbstractList是一个泛型类,实现List接口;

从而我们找到了List与ArrayList的联系:ArrayList类实现List接口,从而相当而言List是ArrayList的父类型;

根据多态:父类型的引用可以指向子类型的对象

在:List list = new ArrayList();//List是一个接口 ---------------------------这段代码中list相当与List类型的一个引用,而ArrayList是子类型的对象,从而list可以指向new

ArrayList()所创建的对象

再看看下面的代码:

Person p1 = new Person(); Person p2 = new Person(); List list = new ArrayList();//List是一个接口 list.add(p1); list.add(p2);//这里是将对象加入到list中

由list.add(p1);我们可以知道list可以添加运行时才得知类型的对象

*我们又来看看下面的代码:

List list2 = new LinkedList();

54bac720a8b5acd07851da34dfa281bd.png

他也是List接口的实现类;

FROM:  http://www.cnblogs.com/super-d2/archive/2013/02/18/2916241.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值