现在的位置: 首页 > 综合 > 正文

黑马程序员_浅谈Vector和ArrayList

2016年12月14日 ⁄ 综合 ⁄ 共 1544字 ⁄ 字号 评论关闭
  1. ------- android培训java培训、期待与您交流!---------
  2. Vector和ArrayList都是实现了List接口,而List接口一共有三个实现类,分别是ArrayList、Vector和LinkedList。List用于存放多个元素,能够维护元素的次序,并且允许元素的重复,这两个类的区别如下:
    1. ArrayList内部是通过数组实现List的,它允许对元素进行快速随机访问。数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中。当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高。因此,它适合随机查找和遍历,不适合插入和删除。
    2. Vector------>向量,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,一般情况只有在接触线程同步时,才会使用Vector,因为访问它比访问ArrayList慢。
  3. 使用这两个集合都可以使用泛型,步骤几乎是一样的,但在使用时,到底该用谁?那么我们就得来思考一个问题了:有没有涉及到线程安全?
  4. 如果有,则使用Vector向量集合,如果没有,则使用ArrayList。
  5. 好了,现在我来简略的展示如何向这两个集合添加元素,删除元素等,这里主要用ArrayList实例说明就好了,因为Vector的使用步骤几乎与ArrayList一样,相关代码如下:
  6. import java.util.ArrayList;
    import java.util.Iterator;

    /**
     * 3、 创建ArrayList对象,添加5个元素,使用Iterator遍历输出
     * @author 黄贤亨
     *
     */
    public class Test3 {

     /**
      * @param args
      */
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      list();
     }
     public static void list(){
      //创建ArrayList集合对象
      ArrayList<String>arr=new ArrayList<String>();
      
      //向集合中添加元素
      arr.add("hello");
      arr.add("黑马训练营");
      arr.add("我要来学习了!!!");
      arr.add("你是最棒的培训IT人才的机构");
      arr.add("你是我无悔的选择");
      //创建迭代器
      Iterator<String>it=arr.iterator();
      System.out.println("向集合中添加的元素是:");
      while(it.hasNext()){
       String output=it.next();

  7. //打印集合中的元素
       System.out.println(output);
      }

  8. arr.remove("你是我无悔的选择");       //或者arr.remove(4);

  9. System.out.println("删除元素后:");

      for(String s:arr){

  10.  

    System.out.println(arr);

  11. }
     }

  12. }

  13. 关于Vector和ArrayList使用频繁,建议大伙一定要把他们理清楚,弄清他们的关系,什么时候该用谁?等,

  14. 以上是我在使用时的个人体验,如有不周,请大侠多多指教!!!谢谢

 

 

  1. -------- android培训java培训、期待与您交流! ----------

详情请查看:http://edu.csdn.net/heima

 

抱歉!评论已关闭.