java-集合1

浏览以下内容前,请点击并阅读 声明

集合(collection),可以看做一个容器,是将多个元素组合成一个单位的对象。集合用来存储,检索,操作,交互一些聚集的数据。通常,集合用来表示一个组的数据,就像一副牌,一个邮箱,一个电话本等的作用。

  java集合框架

  集合框架是一个能够表示和操作集合的统一结构,所有的结合框架包含如下组成部分:

  • 接口 用来代表集合的抽象数据类型。
  • 实现类 用来实现上述接口的实现类,可重复使用
  • 算法 对于集合有一些使用的运算方法,比如对于集合的搜索,分类等。

 接口

  核心的集合接口封装了不同的集合类型,是集合框架的基础,如下图所示:

  Set是一种特殊的Collection,而SortedSet是一种特殊的Set,以此类推,注意,Map不属于Collection,此外所有的集合类型都是泛型。

  • Collection:它是集合的根节点,一个集合代表一组对象,Collection接口含有所有集合的共同点(最少的共同点),如果需要使用集合的最大共性,则需要使用Collection接口,有的集合可以出现相同的元素,而有的则不可以,元素也可以是有序或者无序的,java并不提供实现该接口的类,但是为更具体的集合接口提供了实现的类,如Set和List。
  • Set:一个不可以包含重复元素的集合接口,类似于数学上的集,典型的Set有扑克牌(每张牌唯一),学生的评分等级,机器的程序等等。
  • List:一个有序的集合,List可以包含重复的元素。List通常被应用于控制元素存放的位置,并按照元素的位置索引使用,实现类如Vector。
  • Queue:用于在处理多个元素之前存储的容器,除了基本的Collection的功能,Queue还提供了额外的插入,获取和检查的方法,Queue一般按照先进先出的原则排列元素(FIFO),但也可提供比较的方法或者按照元素的自然顺序排列,每一个Queue接口的实现类必须指定其排序信息。
  • Deque:用于在处理多个元素之前存储的容器。
  • Map:能够存储多个键-值对应关系元素的集合。Map不能包含重复的键,一个键仅能对应最多一个值。

另外还有两种集合:

  • SortedMap:一种特殊的Set,其元素按照升序排列,其中包含了一些对于排序的高级的操作。
  • SortedMap:一种特殊的Map,其元素按照键的升序排列,有序映射被应用于自然排序的含有键-值对的集合。

注意:一般定义变量时,建议使用一些标准的接口类型,因为这样可以是你能够通过更改构造器而灵活的更改实例对象,而无需更改过多代码,但是这样会有一些局限性,对于一些非标准的操作(接口未声明的方法),虽然在实现类中有,但是不能通过对应的标准接口使用。

原文地址:https://www.cnblogs.com/justforcon/p/6035392.html