java集合

本文讲述Java集合的类,和怎么使用这些集合的讲述。

集合

集合总体来说分为两种:单列集合Collection和双列集合Map

  • Collection是单列集合的顶级接口,它包含了list和set集合

list集合包括了以下几种类型的集合

  1. LinkedList
  2. ArrayList
  3. Vector
    set集合包含了以下几种类型的集合
    HashSet
    TreeSet
  • Map是双列集合的顶级接口,它包含了Hashtable;HashMap;WeakHashMap

什么是Collection

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。
  所有实现Collection接口的类都必须提供两个标准的构造函数:无参数的构造函数用于创建一个空的Collection,有一个 Collection参数的构造函数用于创建一个新的Collection,这个新的Collection与传入的Collection有相同的元素。后一个构造函数允许用户复制一个Collection。

Collection集合常见的方法

  1. add(E o)方法

向列表的尾部追加指定的元素(可选操作).

  1. clear()方法

从列表中移除所有元素(可选操作)。

  1. contains(Object o)方法

如果列表包含指定的元素,则返回 true。

  1. equals(Object o)方法

比较指定的对象与列表是否相等。

  1. isEmpty()方法

如果列表不包含元素,则返回 true。

  1. remove(int index)方法

移除列表中指定位置的元素(可选操作)。

  1. size()方法

返回列表中的元素数。

什么是Map

Map 接口不是 Collection 接口的继承。而是从自己的用于维护键-值关联的接口层次结构入手。按定义,该接口描述了从不重复的键到值的映射。
  我们可以把这个接口方法分成三组操作:改变、查询和提供可选视图。
改变操作允许您从映射中添加和除去键-值对。键和值都可以为 null。但是,您不能把Map 作为一个键或值添加给自身

Collection集合常见的方法

  1. Object put(Object key, Object value)方法

想集合中放入相应的key和value,一次只能放入一个

  1. Object remove(Object key)方法

删除集合中的value值

  1. void putAll(Map mapping)方法

一次性将数据全部放入集合中

  1. void clear()方法

将集合清空

  1. Object get(Object key)方法

根据key值获取相应的value

  1. boolean containsKey(Object key)方法

如果列表包含指定的元素,则返回 true

  1. int size()方法

获取集合的长度

  1. boolean isEmpty()方法

判断集合是否为空

Vector

  • 最后讲一下这个单列集合的Vector类为什么不使用了的原因
      使用ArrayList而不是Vector是因为默认情况下是非同步访问的,Vector同步了每个方法,通常有想要同步的是整个操作序列。同步单个的操作也不安全(如果你迭代一个Vector,你还是要加锁,以避免其它线程在同一时刻改变集合).而且效率更慢。当然同样有锁的开销即使你不需要,这是个很糟糕的方法在默认情况下同步访问。
      事实上Vector结合了“可变数组”的集合和同步每个操作的实现。这是另外一个设计上的缺陷。Vector还有些遗留的方法在枚举和元素获取的方法,这些方法不同于List接口,如果这些方法在代码中程序员更趋向于想用它。尽管枚举速度更快,但是他们不能检查如果集合在迭代的时候修改了,这样将导致问题。所以也导致了Vector的不使用。

你可能感兴趣的:(java集合)