JAVA Collection类

1.基本使用

collections java 包含 java collection类_collections java 包含

collections java 包含 java collection类_ci_02

import java.util.ArrayList;
import java.util.Collection;

public class myCollection {

    public static void main(String[] args) {
        //创建Collection集合的对象
        //Collection本身是一个接口,无法实例化,故此通过其List子接口的ArrayList实现类来实例化(多态)
        Collection<String> collection = new ArrayList<String>();
         collection.add("Hello");

        //输出集合对象
        System.out.println(collection);//ArrayList重写了toString()方法

    }
}

方法

说明

boolean add(E e)

添加元素

boolean remove(Object o)

删除指定元素

void clear()

清空

boolean contains(Object o)

判断是否包含指定元素

boolean isEmpty()

判断是否空

int size()

元素个数

2.Collection集合遍历

使用Iterator迭代器

Iterator iterator() 返回集合中元素的迭代器(依赖集合存在),通过集合的iterator()方法得到

方法

描述

void forEachRemainin

对每个剩余元素执行给定的操作,直到所有元素都被处理或动作引发异常

boolean hasNext()

E next()

返回迭代的下一个元素

void remove()

从底层集合中删除迭代器返回最后 一个元素

//遍历
        Iterator<String> it = collection.iterator();
        
        while(it.hasNext()) {
            System.out.println(it.next());
        }

3.List集合(Abstract抽象类)

方法名

说明

void add(int index, E element)

E remove(int index)

E set(int index,E element)

E get(int index)

遍历

1.list集合所特有的listiterator迭代器的使用

2.for增强循环 for(int i: arr)

3.1 ArrayList

List<Integer> l = new ArrayList<Integer>();
Iterator<Integer> it = l.listIterator();
while(it2.hasNext()) {
            System.out.println(it.next());
        }
ArrayList的使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dz8fyoL8-1615963066589)(https://raw.githubusercontent.com/Cassie317/cloudimg/main/img/image-20210317140356320.png)]

3.2 LinkedList

List<Integer> l = new LinkedList<Integer>();
LinkedList的使用

collections java 包含 java collection类_collections java 包含_03

方法

说明

void addFirst(E e)

链表开头插入元素

void addLast(E e)

链表结尾插入元素

E getFirst()

返回列表第一个元素

E getLast()

返回最后一个元素

E removeFirst()

删除并返回第一个

E removeLast()

删除并返回最后一个

Queue继承LinkedList:

collections java 包含 java collection类_ci_04

collections java 包含 java collection类_迭代器_05

方法

抛出异常

返回特殊值

增加

add()

offer()

删除

remove()

poll()

获取元素

element()

peek()

3.3 Vector

Vector 类实现了一个动态数组。和 ArrayList 很相似,但是两者是不同的:

  • Vector 是同步访问的。
  • Vector 包含了许多传统的方法,这些方法不属于集合框架。
  • 和ArrayList不同,Vector中的操作是线程安全的

Vector 主要用在事先不知道数组的大小,或者只是需要一个可以改变大小的数组的情况。

序号

方法描述

1

void add(int index, Object element) 在此向量的指定位置插入指定的元素。

2

boolean add(Object o) 将指定元素添加到此向量的末尾。

3

boolean addAll(Collection c) 将指定 Collection 中的所有元素添加到此向量的末尾,按照指定 collection 的迭代器所返回的顺序添加这些元素。

4

boolean addAll(int index, Collection c) 在指定位置将指定 Collection 中的所有元素插入到此向量中。

5

void addElement(Object obj) 将指定的组件添加到此向量的末尾,将其大小增加 1。

6

int capacity() 返回此向量的当前容量。

7

void clear() 从此向量中移除所有元素。

8

Object clone() 返回向量的一个副本。

9

boolean contains(Object elem) 如果此向量包含指定的元素,则返回 true。

10

boolean containsAll(Collection c) 如果此向量包含指定 Collection 中的所有元素,则返回 true。

12

Object elementAt(int index) 返回指定索引处的组件。

13

Object firstElement() 返回此向量的第一个组件(位于索引 0) 处的项)。

import java.util.*;

public class VectorDemo {

   public static void main(String args[]) {
      // initial size is 3, increment is 2
      Vector v = new Vector(3, 2);
      v.size();//0
      v.capacity();//3
      v.addElement(new Integer(1));
      v.addElement(new Integer(2));
      v.addElement(new Integer(3));
      v.addElement(new Integer(4));
      v.capacity();// 5

      v.addElement(new Double(5.45));
      v.capacity();//5
       
      v.addElement(new Double(6.08));
      v.addElement(new Integer(7));
      v.capacity());//7
       
      v.addElement(new Float(9.4));
      v.addElement(new Integer(10));
      v.capacity();//9
       
      v.addElement(new Integer(11));
      v.addElement(new Integer(12));
      (Integer)v.firstElement());//1    
      (Integer)v.lastElement();//12
      if(v.contains(new Integer(3)))
         System.out.println("Vector contains 3.");//
      // enumerate the elements in the vector.
      Enumeration vEnum = v.elements();
      System.out.println("\nElements in vector:");
      while(vEnum.hasMoreElements())
         System.out.print(vEnum.nextElement() + " ");
      System.out.println();
   }
}

set集合

继承collection和collection使用一样

不包含重复元素

不带索引,不能使用for循环遍历