Java Vector 集合

Java Vector 集合


Vector 集合

  • 繼承自 AbstractList ,實現了 List 接口。

  • 內部類 Itr 實現了 Iterator 接口。

  • 內部類 ListItr 實現了 ListIterator 接口。

  • Vector 可以使用 Iterator 和 ListIterator 兩種迭代器訪問元素。

  • Vector 底層是Object數組結構,可以使用索引直接訪問集合中的元素,調用get() 和 set() 方法即可。

  • 從 JDK1.0 版本開始。

  • Vector 集合內元素可以重複。

  • 特點:增刪改查都相對較慢,如無必要,使用ArrayList或LinkedList替代

使用方式

  • 添加元素

    • 示例

      Vector<Integer> vector = new Vector<>();
      
      // 將指定元素添加到集合的末尾
      vector.add(10);
      System.out.println("add(E e) :" + vector);
      
      // 將指定元素添加到指定位置
      vector.add(0, 15);
      System.out.println("add(int index, E element) :" + vector);
      
      // 將指定對象添加到集合的末尾
      vector.addElement(20);
      System.out.println("addElement(E obj) :" + vector);
      
      // 將指定集合添加到集合的末尾
      vector.addAll(vector);
      System.out.println("addAll(Collection<? extends E> c) :" + vector);
      
      // 將指定集合添加到集合的指定位置
      vector.addAll(0, vector);
      System.out.println("addAll(int index, Collection<? extends E> c) :" + vector);
    • 運行結果
      這裏寫圖片描述

  • 修改元素

    • 示例

      // 修改集合中指定位置的元素
      vector.set(2, 8);
      System.out.println("set(int index, E element) :" + vector);
      
      // 修改集合中指定位置的元素 set(E obj, int index)
      vector.setElementAt(9, 4);
      System.out.println("set(E obj, int index) :" + vector);
    • 運行結果
      這裏寫圖片描述

  • 獲取元素

    • 示例

      Vector<Integer> vector = new Vector<>();
      for (int i = 1; i <= 5; i++) {
          vector.add(i);
      }
      System.out.println("集合元素 " + vector);
      
      // 獲得指定位置的元素
      int ele = vector.get(3);
      System.out.println("get(int index) :" + ele);
      
      // 獲得集合中第一個元素
      ele = vector.firstElement();
      System.out.println("firstElement() :" + ele);
      
      // 獲得集合中最後一個元素
      ele = vector.lastElement();
      System.out.println("lastElement() :" + ele);
    • 運行結果
      這裏寫圖片描述

  • 移除元素

    • 示例

      Vector<Integer> vector = new Vector<>();
      for (int i = 1; i <= 5; i++) {
          vector.add(i);
      }
      
      // 移除指定位置的元素
      vector.remove(1);
      System.out.println("remove(int index) :" + vector);
      
      // 移除指定元素
      vector.remove(Integer.valueOf(3));
      System.out.println("remove(Object o) :" + vector);
      
      // 移除集合中所有交集元素
      // removeAll(Collection<?> c)
      
      // 移除集合中所有的元素,並將其大小設置爲零
      // removeAllElements()
      
      // 移除指定元素
      // removeElement(Object obj)
      
      // 移除指定位置的元素
      // removeElementAt(int index)
      
      // 移除指定範圍的元素
      // removeRange(int fromIndex, int toIndex)
      
      // 清空集合
      // clear()
    • 運行結果
      這裏寫圖片描述

  • 判斷相關

    • 示例

      Vector<Integer> vector = new Vector<>();
      for (int i = 1; i <= 5; i++) {
          vector.add(i);
      }
      
      boolean result = vector.contains(Integer.valueOf(3));
      System.out.println("contains(Object o) :" + result);
      
      // 查找指定元素在集合中第一次出現的位置
      int index = vector.indexOf(Integer.valueOf(2));
      System.out.println("indexOf(Object o) :" + index);
      
      // 從index處開始正向查找元素o第一次出現的位置
      // indexOf(Object o, int index)
      
      // 查找指定元素在集合中最後一次出現的位置
      index = vector.lastIndexOf(Integer.valueOf(3));
      System.out.println("lastIndexOf(Object o) :" + index);
      
      // 從index處開始正向查找元素o最後一次出現的位置
      // lastIndexOf(Object o, int index) 
      
      // 判斷集合中是否包含指定集合中的所有元素
      // containsAll(Collection<?> c) 
    • 運行結果
      這裏寫圖片描述

遍歷元素

  • for 循環

    • 示例

      Vector<Integer> vector = new Vector<>();
      for (int i = 1; i <= 5; i++) {
          vector.add(i);
      }
      
      for (int i = 0; i < vector.size(); i++) {
          System.out.println(vector.get(i));
      }
    • 運行結果
      這裏寫圖片描述

  • 將集合轉換成數組,然後遍歷數組

    • 示例

      Vector<Integer> vector = new Vector<>();
      for (int i = 1; i <= 5; i++) {
          vector.add(i);
      }
      
      Integer[] array = vector.toArray(new Integer[vector.size()]);
      
      for (int i = 0; i < array.length; i++) {
          System.out.println(array[i]);
      }
    • 運行結果
      這裏寫圖片描述

  • foreach (增強for)

    • 示例

      Vector<Integer> vector = new Vector<>();
      for (int i = 1; i <= 5; i++) {
          vector.add(i);
      }
      
      for(Integer i : vector) {
          System.out.println(i);
      }
    • 運行結果
      這裏寫圖片描述

  • Iterator 迭代器

    • 示例

      Vector<Integer> vector = new Vector<>();
      for (int i = 1; i <= 5; i++) {
          vector.add(i);
      }
      
      Iterator<Integer> iterator = vector.iterator();
      while(iterator.hasNext()) {
          System.out.println(iterator.next());
      }
    • 運行結果
      這裏寫圖片描述

  • ListIterator 迭代器

    • 示例

      Vector<Integer> vector = new Vector<>();
      for (int i = 1; i <= 5; i++) {
          vector.add(i);
      }
      
      ListIterator<Integer> listIterator = vector.listIterator();
      
      while(listIterator.hasNext()) {
          System.out.println(listIterator.next());
      }
    • 運行結果
      這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章