Java Collection 的简单使用

184 阅读1分钟

一、简介

image.png

  • 提到集合就不得不提一下数组,好多集合底层都是依赖于数组的实现。

  • 数组一旦初始化后,长度就确定了,存储数据对象不能达到动态扩展,其次数组存储元素不便于对数组进行添加修改删除操作,而且数组可以存储重复元素

  • 这个时候集合对作用显现出来了。集合分为 CollectionMap 两种体系。

  • Collection 接口 (java.util.Collection)Java集合类的顶级接口之一,整个集合框架就围绕一组标准接口而设计。

  • Collection的集合类的继承树:

    image.png

二、简单使用

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

public class test {
  public static void main(String[] args) {

    // 创建 Collection 集合对象
    Collection<String> c = new ArrayList<String>();

    // boolean add(E e): 添加元素
    c.add("dzm");
    c.add("xyq");
    System.out.println(c); // [dzm, xyq]

    // boolean remove(Object o): 移除元素
    c.remove("dzm");
    System.out.println(c); // [xyq]

    // void clear(): 清空集合中的元素
    c.clear();
    System.out.println(c); // []

    // 判断集合中是否存在指定的元素
    c.add("dzm");
    System.out.println(c.contains("dzm")); // true

    // 判断集合是否为空
    System.out.println(c.isEmpty()); // false

    // 获取集合中的元素个数
    System.out.println(c.size()); // 1
  }
}
```

三、迭代器(Iterator)

  • Iterator<E> iterator(): 返回此集合中元素的迭代器,通过集合的 iterator() 方法得到,它是依赖于集合而存在的。

    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    
    public class test {
      public static void main(String[] args) {
    
        // 创建 Collection 集合对象
        Collection<String> c = new ArrayList<String>();
    
        // 添加元素
        c.add("dzm");
        c.add("xyq");
        System.out.println(c); // [dzm, xyq]
    
        // 获得迭代器
        Iterator<String> it = c.iterator();
    
        // 返回迭代器中的下一个元素
        // System.out.println(it.next()); // dzm
        // System.out.println(it.next()); // xyq
        // System.out.println(it.next()); // 因为只有2个元素,所以回报异常 Exception in thread "main" java.util.NoSuchElementException
    
        // 判断迭代器是否还有更多的元素
        // if (it.hasNext()) { System.out.println(it.next()); } // dzm
        // if (it.hasNext()) { System.out.println(it.next()); } // xyq
        // if (it.hasNext()) { System.out.println(it.next()); } // 不会输出,因为没有更多元素了
    
        // 便利迭代器中的元素
        while (it.hasNext()) {
          System.out.println(it.next());
        }
      }
    }