永发信息网

Java中List和ArrayList的区别

答案:3  悬赏:30  手机版
解决时间 2021-11-30 03:21
Java中List和ArrayList的区别
最佳答案
List是一个接口,而ListArray是一个类。
ListArray继承并实现了List。
所以List不能被构造,但可以向上面那样为List创建一个引用,而ListArray就可以被构造。
List list; //正确 list=null;
List list=new List(); // 是错误的用法
全部回答
list只是个接口,没有具体的实现,不能创建实例。arraylist是list的一个具体实现可以创建实例
List是接口 ,定义了一些方法 但是方法没有被实现 ,ArrayList是一个类 ,实现了List这个接口. List里边定义的方法 ,在ArrayList里边都实现了, 同时List也可以被别的类所实现, 例如Vector, Vector和ArrayList对List定义的方法的实现就有所区别。
1.List是接口,List特性就是有序,会确保以一定的顺序保存元素.
  ArrayList是它的实现类,是一个用数组实现的List.
  Map是接口,Map特性就是根据一个对象查找对象.
  HashMap是它的实现类,HashMap用hash表实现的Map,就是利用对象的hashcode(hashcode()是Object的方法)进行快速散列查找.(关于散列查找,可以参看<<数据结构>>)
  2.一般情况下,如果没有必要,推荐代码只同List,Map接口打交道.
  比如:List list = new ArrayList();
  这样做的原因是list就相当于是一个泛型的实现,如果想改变list的类型,只需要:
  List list = new LinkedList();//LinkedList也是List的实现类,也是ArrayList的兄弟类
  这样,就不需要修改其它代码,这就是接口编程的优雅之处.
  另外的例子就是,在类的方法中,如下声明:
  private void doMyAction(List list){}
  这样这个方法能处理所有实现了List接口的类,一定程度上实现了泛型函数.
  3.如果开发的时候觉得ArrayList,HashMap的性能不能满足你的需要,可以通过实现List,Map(或者Collection)来定制你的自定义类。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
桓这个字去掉木字旁加竖心旁念啥
从南环新村到吴中致能大道106号乘几路
公历丨98l年的8月7日农历是多少
如何建立亲和感?
水泵跳闸有些什么原因
一个多10天的小泰迪从八米的阳台掉下去怎么知
A+B童装童鞋怎么去啊,有知道地址的么
醋和水搅拌会发生什么变化
豆浆渣洗脸的好处
合肥提取公积金什么时候到账
求大神解答一下 这款五瓣金刚 值多少 懂行的
申通快递从洛阳到徐州市丰县用几天
冰镇鲍鱼怎么做?
我的戴尔5437触屏关不了想下载Touchpad/DellT
阅读理解“Allright.”herfathersays.Heso
推荐资讯
by+交通工具与by+the+交通工具有什么区别
写人喜欢读书的成语
13款别克二厢车英朗1.6高配价格
天天飞车为什么自从朋友登了他的号就我的手机
一而二 二而一是周易里面的吗
一位艺术家把昆虫的内脏去掉,再加装时钟机械
洋瓜尖炒肉末的家常做法怎么做好吃
赤字率下调反映经济稳中向好吗?
如皋长牌具体怎么算胡。?特别是一胡和清湖的
求黑执事马戏团OP enamel歌词【日文平假和罗
读秒钱包要上征信吗
猜成语母=50
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?