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

集合(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,其元素按照键的升序排列,有序映射被应用于自然排序的含有键-值对的集合。

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

java-集合1的更多相关文章

  1. Java集合专题总结(1):HashMap 和 HashTable 源码学习和面试总结

    2017年的秋招彻底结束了,感觉Java上面的最常见的集合相关的问题就是hash--系列和一些常用并发集合和队列,堆等结合算法一起考察,不完全统计,本人经历:先后百度.唯品会.58同城.新浪微博.趣分 ...

  2. Scala集合和Java集合对应转换关系

    作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...

  3. java集合你了解多少?

    用了java集合这么久,还没有系统的研究过java的集合结构,今天亲自画了下类图,总算有所收获. 一.所有集合都实现了Iterable接口. Iterable接口中包含一个抽象方法:Iterator& ...

  4. 深入java集合学习1-集合框架浅析

    前言 集合是一种数据结构,在编程中是非常重要的.好的程序就是好的数据结构+好的算法.java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构.如顺序表,链表,栈和堆等.Java 集合框 ...

  5. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  6. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...

  7. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  8. Java 集合框架

    Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...

  9. Java集合概述

    容器,是用来装东西的,在Java里,东西就是对象,而装对象并不是把真正的对象放进去,而是指保存对象的引用.要注意对象的引用和对象的关系,下面的例子说明了对象和对象引用的关系. String str = ...

  10. 深入java集合系列文章

    搞懂java的相关集合实现原理,对技术上有很大的提高,网上有一系列文章对java中的集合做了深入的分析, 先转载记录下 深入Java集合学习系列 Java 集合系列目录(Category) HashM ...

随机推荐

  1. 自定义checkbox风格

    1.在drawable中创建文件checkbox_selector.xml: <?xml version="1.0" encoding="utf-8"?& ...

  2. maven project中,在main方法上右键Run as Java Application时,提示错误:找不到或无法加载主类XXX.XXXX.XXX

    新建了一个maven project项目,经过一大堆的修改操作之后,突然发现在main方法上右键运行时,竟然提示:错误:找不到或无法加载主类xxx.xxx.xxx可能原因1.eclipse出问题了,在 ...

  3. 大熊君大话NodeJS之------(Url,QueryString,Path)模块

    一,开篇分析 这篇文章把这三个模块拿来一起说,原因是它们各自的篇幅都不是很长,其次是它们之间存在着依赖关系,所以依次介绍并且实例分析.废话不多说了,请看下面文档: (1),"Url模块&qu ...

  4. tyvj1005 采药

    描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞 ...

  5. 浅谈JSON

    JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式.XML也是一种数据交换格式,为什么没有 ...

  6. Github上的PHP资源汇总大全

    依赖管理 ——用于依赖管理的包和框架 Composer/Packagist : 一个包和依赖管理器 Composer Installers:  一个多框架Composer库安装器 Pickle: 可以 ...

  7. JavaScript创建对象及对象继承

    面向对象的语言有一个标志,那就是他们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象.但是在ECMAScript中没有类的概念,因此它的对象也与基于类的对象有所不同.实际上,JavaSc ...

  8. 欢迎加入threejs

    Threejs is the coolest graphics rendering engine I have ever seen, so what is threejs, Now, we have ...

  9. 【GoLang】golang 闭包 closure 参数传递的蹊跷!

    结论: 闭包函数可以直接引用外层代码定义的变量, 但是,注意,闭包函数里面引用的是变量的地址, 当goroutine被调度时,改地址的值才会被传递给goroutine 函数. 介绍 go的闭包是一个很 ...

  10. errno.h

    linux 中c语言使用errno.h头文件来记录错误信息以及定义返回错误代码的宏. strerror(errno)打印错误信息 1. warning: implicit declaration of ...