zoukankan      html  css  js  c++  java
  • List<String> 和 ArrayList<String>的区别

    最近对这两个问题比较懵逼,关于ListArrayListList<String> list = new ArrayList<String>();

    好了,先搞明白List 和 ArrayList吧。

    List是一个接口,是Collection接口的一个子接口,是一个有序的集合。

    ArrayList是List的一个实现类,可以实现数组大小的可变,可以很方便的进行增加和删减数组内元素的操作。

    1 List<NameValuePair> paraList = new ArrayList<>();
    2 paraXmlList("cfgXml", dataxmlPath, paraList);
    3 paraList.add(new BasicNameValuePair("productid", productid));//(此处对List进行添加了数据)

    List list=new ArrayList();这种形式成为向上转型,ArrayList实现了List接口,可以看成是从List继承而来,一个子类的对象可以指向它父类。

    比如,狗从动物继承而来,狗是一只动物,所以狗的对象可以当作一只普通的动物来看待。

    然后再来说说List<String> list=new ArrayList<String>();为甚麼要声明为List 而不是ArrayList<String>?

    List是集合最大的父类,它包含了ArrayList。
    如果直接声明为ArrayList<String> list=new ArrayList<String>()这个也没有问题,但是不推荐,应为这样显得不是很灵活,因为List下除了ArrayList还有LinkList等他们都实现了List里面的方法。
    而声明成:List<String> list=new ArrayList<String>();这样的形式使得list这个对象可以有多种的存在形式

    比如要用链表存数据的话直接用LinkedList,使用ArrayList或者Vector直接通过list = new LinkedList<String>();就可以了,这样让list这个对象活起来了

    很多需求只能用一个list,内存有限,或者线程同步,不能有更多的集合对象,使得List总的接口来管理对象。

  • 相关阅读:
    MySQL监控全部执行过的sql语句
    Linux之网络编程:时间服务器
    人生哲理 |南怀瑾最经典的50句话
    TCP/IP协议(一)网络基础知识 网络七层协议
    Linux下进程通信之管道
    一个完整的项目管理流程
    Linux编程之select
    (笔记)电路设计(十四)之放大器的应用
    ds18b20采集温度并上报服务器
    java中基于swing库自定义分页组件
  • 原文地址:https://www.cnblogs.com/softwaretesterpz/p/6763170.html
Copyright © 2011-2022 走看看