在JDK中集合是很重要的,学习java那么一定要好好的去了解一下集合的源码以及一些集合实现的思想!
一:集合的UML类图(网上下载的图片)

Java集合工具包位置是java.util.*

二:集合工具的分析
1:Java集合是java提供的工具包,常用的数据结构:集合、链表、队列、栈、数组、映射等
2:java集合主要划分为五个部分:

List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)

3:根据类图进行分析:
主要分为两大类:CollectionMap
1:Collection是一个接口,是高度抽象出来的集合,它包含了集合的基本操作和属性。

包括了List和Set

  • List:List接口通常表示一个列表(数组、队列、链表、栈等),其中的元素可以重复,常用实现类为ArrayList和LinkedList,另外还有不常用的Vector。另外,LinkedList还是实现了Queue接口,因此也可以作为队列使用。

    List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。

  • Set: Set接口通常表示一个集合,其中的元素不允许重复(通过hashcode和equals函数保证),常用实现类有HashSet和TreeSet,HashSet是通过Map中的HashMap实现的,而TreeSet是通过Map中的TreeMap实现的。另外,TreeSet还实现了SortedSet接口,因此是有序的集合(集合中的元素要实现Comparable接口,并覆写Compartor函数才行)。

    Set是一个不允许有重复元素的集合。

2:Map是一个映射接口,即key-value键值对。一个key对应一个value。

Map是一个映射接口,其中的每个元素都是一个key-value键值对,同样抽象类AbstractMap通过适配器模式实现了Map接口中的大部分函数,TreeMap、HashMap、WeakHashMap等实现类都通过继承AbstractMap来实现,另外,不常用的HashTable直接实现了Map接口,它和Vector都是JDK1.0就引入的集合类。

3:Iterator,它是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。不能遍历Map,只用来遍历Collection。
Collection的实现类都实现了iterator()函数,它返回一个Iterator对象,用来遍历集合,ListIterator则专门用来遍历List

4:Enumeration,它是JDK 1.0引入的抽象类。作用和Iterator一样,也是遍历集合;但它的功能比Iterator要少,它只能再Hashtable、Vector和Stack中使用。

5:Arrays和Collections。它们是操作数组、集合的两个工具类。

三:用的设计模式

Java集合框架中用的很多的适配器设计模式

四:菜鸟集合讲解:http://www.runoob.com/java/java-collections.html


java集合系列——java集合概述(一)
java集合系列——List集合之ArrayList介绍(二)
java集合系列——List集合之LinkedList介绍(三)
java集合系列——List集合之Vector介绍(四)
java集合系列——List集合之Stack介绍(五)
java集合系列——List集合总结(六)
java集合系列——Map介绍(七)
java集合系列——Map之HashMap介绍(八)
java集合系列——Map之TreeMap介绍(九)
java集合系列——Set之HashSet和TreeSet介绍(十)


如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页:http://blog.csdn.net/u010648555

java集合系列——java集合概述(一)相关推荐

  1. 明翰Java教学系列之集合框架篇V0.2(持续更新)

    文章目录 传送门 前言 什么是集合框架 集合框架体系 Collection接口 `Set接口` `HashSet` LinkedHashSet TreeSet EnumSet Queue接口 Prio ...

  2. Java入门系列——Java语言基础(小康小白)

    我是小康小白,一个平平无奇的Java,Python小白.热爱有趣的文字,生活和远方. 个人博客:https://blog.csdn.net/weixin_45791445 有问题欢迎QQ联系:1059 ...

  3. java虚拟机系列:java虚拟机内存模型

    java内存模型,分为程序计数器,虚拟机栈,本地方法栈,java堆,java栈.根据受访的权限不同设置,可以分为线程共享和线程私有.线程共享指可以允许所有的线程共享访问的一类内存区域,包括堆内存区,方 ...

  4. 小明学java基础系列——Java 类加载

    Java类加载学习笔记 一.基本概念 1.1 基本文件类型和概念 1.2 idea程序示例 1.2.1 idea-java源文件 1.2.2 idea-java字节码 1.2.3 idea-类加载 1 ...

  5. java集合系列_Java集合系列01-Java集合概述

    1.Java集合基本概念 在编程中,常常需要集中存放多个数据.从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量,因为数组长度在初始化时指定,意味着只能保存 ...

  6. java基础系列:集合入门

    集合框架: Java中的集合框架大类可分为Collection和Map:两者的区别: Collection是单列集合:Map是双列集合 Collection中只有Set系列要求元素唯一:Map中键需要 ...

  7. 【java开发系列】—— 集合使用方法

    前言 在java中提供给我们了一些类似C++泛型的简单集合,list,set,map等.这里,简单介绍一下这些集合容器的使用方法,以及复杂对象元素的自定义排序. 首先看一下集合的框架图: 由于coll ...

  8. java基础系列:集合总结(6)

    排序和搜索 数组 Arrays类为所有基本数据类型的数组提供了一个过载的 sort()和 binarySearch(),它们亦可用于 String 和Object. public class Arra ...

  9. java基础系列:集合总结(4)

    使用 S e t s Set完全就是一个 Collection,只是具有不同的行为(这是实例和多形性最理想的应用:用于表达不同的行为).在这里,一个 Set 只允许每个对象存在一个实例(正如大家以后会 ...

最新文章

  1. 1.3. redis-cli - Command-line client to redis-server
  2. win系统下mysql忘记root账户密码的解决办法
  3. HTML常见标签总结
  4. 三级pc技术_第十九周PC、笔电、数码周边新品汇总:AMD英特尔激战正酣
  5. apache htpasswd.exe创建密码
  6. 从虚幻4动画系统与控制器交互理解数据驱动(一)古老的写法
  7. Android开发笔记(一百七十五)利用Room简化数据库操作
  8. 第九章-安装RPM包或源码包
  9. 亲,C/C++/C#居然薄弱叻?不会吧,现在是HTML5+CSS3+javascript的时代?
  10. C#项目班级管理系统
  11. python实现气象数据分析实验报告_Python 气象数据分析
  12. 将SolidWorks物料清单导出到Excel时可带缩略图了!
  13. [ACM]辽宁省赛2010 (HZNU 1081-1089)
  14. java版溺尸刷怪塔_教程/溺尸陷阱 _ 《我的世界》中文Minecraft Wiki:最详细的官方我的世界百科...
  15. 视频教程-移动端Web开发-JavaScript
  16. hexo+github打造个人博客系列之Coding Pages去广告
  17. 闪客快打介绍(摘自百度)
  18. 字节跳动为什么能够成功?Tag思维、大中台、OKR
  19. Anaconda 安装错误的解决办法
  20. type-c接口边充电边听歌解决方案

热门文章

  1. Administrator privileges required for OLE Remote Procedure Call debugging: this feature will not wor
  2. 京东ai NeuHub单点登录
  3. Integer 和 int
  4. 欧拉图与半欧拉图的基本概念以及判定方法
  5. 利用matplotlib画函数图像
  6. C# 获取适配器网络连接IP地址,子网掩码,DNS,数据包等信息
  7. 赛格曹晓冬分享实录:线下仍是智能硬件产品的主要消费渠道
  8. ASP.NET(C#)对接国际验证码接口DEMO示例
  9. 故障描述:服务器应用程序不可用
  10. Android-自定义preference和PreferenceFragment实例详解