Java集合框架(一)—Collection接口

       在学习集合前,我们曾学习了数组,从数组的特点可知数组要存放相同类型的一组数据,并指定数组的长度。如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象,此时可以选择使用Java集合框架。

Java集合框架包含的内容

       Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util包中。

 一、Collection接口

Collection:存放的是单一值

1.1 特点

1、可以存放不同类型的数据,而数组只能存放固定类型的数据

2、当使用arraylist子类实现的时候,初始化长度是10,当长度不够时会自动进行扩容操作

 /**
  * Default initial capacity.
  */
private static final int DEFAULT_CAPACITY = 10;

 /**
     * Increases the capacity to ensure that it can hold at least the
     * number of elements specified by the minimum capacity argument.
     *
     * @param minCapacity the desired minimum capacity
     */
private void grow(int minCapacity) {
// overflow-conscious code
int oldCapacity = elementData.length;
int newCapacity = oldCapacity + (oldCapacity >> 1);  // (右移一位) 扩容长度:相当于原来长度的1.5倍

1.2 api方法

          add:要求必须传入的参数是Object对象,因此当写入基本数据类型的时候,包含了自动拆箱和自动装箱的过程

Collection collection = new ArrayList();
collection.add(1);       // 等价于:collection.add(new Integer(1));
collection.add(3.14);
collection.add(true);
collection.add("abc");

结果:
[1, 3.14, true, abc]

        addAll:添加另一个集合的元到此集合中

Collection collection1 = new ArrayList();
collection1.add("a");
collection1.add("b");
collection1.add("c");
collection1.add("d");
collection.addAll(collection1);
System.out.println(collection);

结果:
[1, 3.14, true, abc, a, b, c, d]

      clear:只是清空集合中的元素,但是此集合对象并没有被回收

      remove:删除指定元素

      removeAll:删除集合元素

      contains:判断集合中是否包含指定的元素值,返回boolean类型

      containsAll:判断此集合中是否包含另一个集合

      isEmpty:判断集合是否等于空

      retainAll:若集合中拥有另一个集合的所有元素,返回true,否则返回false

      size:返回当前集合的大小

      toArray:将集合转换为数组

 

posted @ 2020-12-02 14:33  豆小豆1314  阅读(102)  评论(0编辑  收藏  举报