集合的概念:

  是一种工具类,可以存储任意数量、任意类型的对象(所以后面需要用到泛型,以约束集合中元素的类型)

集合的作用:

  1、在类的内部对属性进行组织

  2、方便快速定位属性位置

  3、某些集合接口,提供了一系列排列有序的元素,可以在序列中快速插入或删除

  4、某些集合接口,提供了映射关系,可以通过关键字(key)快速查找到对应的唯一对象,而这个key可以是任意类型

集合与数组的差别:

  1、数组长度固定,集合长度可变

  2、数组只能通过下标访问具体元素,集合则可通过任意类型查找所映射的具体对象

Java集合框架体系结构:根接口——子接口——实现类(并未全部列出)

List接口及其常用实现类——ArrayList

  1、List是元素有序并且可以重复的集合,称为序列

  2、List可以精确插入或删除某个位置的元素

  3、ArrayList——数组序列,底层是由数组实现的

ArrayList实现的方法详见Java API文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

注意:对象存入集合都会变成Object类型,取出时需要进行类型转换

泛型:

  集合中的元素可以是任意类型的对象,如果把某个对象放入集合,则会忽略他的类型,当作Object处理

  1、泛型集合中,不能添加泛型规定的类型及其子类型以外的对象,编译期间会进行类型检查

  2、泛型使用for each方法遍历集合时,不需要用Object,直接使用原类型即可

  3、泛型集合中的限定类型不能使用基本数据类型,可以通过使用包装类限定允许存入的基本数据类型

Set接口及其实现类——HashSet

  1、Set是元素无序并且不可以重复的集合,称为“集”

  2、HashSet——哈希集

  3、Set中,同一个对象无论添加多少次,只有第一次会添加生效

  4、Set中可以添加null

Map

  Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够根据key查找value,key和value可以是任意类型的对象

  key和value属于Entry类的对象实例

  key值不能重复

  一个value可以对应多个key,一个key只能对应一个value

  Map的泛型:Map<K, V>    //K为key值的类型,V为value值的类型

HashMap

  HashMap中的Entry对象是无序排列的

  key值和value值可以为null,但是只能有一个key为null,因为key不可重复

Java集合框架(java.util包)的更多相关文章

  1. java 集合框架 Java集合&List的实现

    原文: https://blog.csdn.net/u012658346/article/details/50917068 一.java集合类图如下所示: 上述类图中,实线边框的是实现类,比如Arra ...

  2. Lambda表达式和Java集合框架

    本文github地址 前言 我们先从最熟悉的Java集合框架(Java Collections Framework, JCF)开始说起. 为引入Lambda表达式,Java8新增了java.util. ...

  3. 浅谈JAVA集合框架

    浅谈JAVA集合框架 Java提供了数种持有对象的方式,包括语言内置的Array,还有就是utilities中提供的容器类(container classes),又称群集类(collection cl ...

  4. 《深入理解Java集合框架》系列文章

    Introduction 关于C++标准模板库(Standard Template Library, STL)的书籍和资料有很多,关于Java集合框架(Java Collections Framewo ...

  5. Java集合框架之四大接口、常用实现类

    Java集合框架 <Java集合框架的四大接口> Collection:存储无序的.不唯一的数据:其下有List和Set两大接口. List:存储有序的.不唯一的数据: Set:存储无序的 ...

  6. Java集合框架介绍。Java Collection Frameworks = JCF

    Java集合框架 = Java Collection Frameworks  = JCF . 为了方便理解,我画了一张思维脑图.

  7. Java集合框架

    集合框架体系如图所示 Java 集合框架提供了一套性能优良,使用方便的接口和类,java集合框架位于java.util包中, 所以当使用集合框架的时候需要进行导包. Map接口的常用方法 Map接口提 ...

  8. Java集合框架的总结

    本篇文章先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析.当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进 ...

  9. Java集合框架之Collection接口

    Java是一门面向对象的语言,那么我们写程序的时候最经常操作的便是对象了,为此,Java提供了一些专门用来处理对象的类库,这些类库的集合我们称之为集合框架.Java集合工具包位于Java.util包下 ...

随机推荐

  1. Java JDBC学习实战(三): 事务管理

    一. 数据库的事务特性 事务是一步或多步组成操作序列组成的逻辑执行单元,这个序列要么全部执行,要么则全部放弃执行. 事务的四个特性:原子性(Atomicity).一致性(Consistency).隔离 ...

  2. Python--day66--内容回顾

    3,python中的大小比较和js中的大小比较规则: python中a>b>c,就是先比较a>b,然后再比较b>c,都为true的话就返回true: js中的a>b> ...

  3. Python--day38--JoinableQueue解决生产者消费者模型

    ############################# # 在消费者这一端: #每次获取一个数据 #处理一个数据 #发送一个记号:标志一个数据被处理成功 #在生产者这一端: #每一次生成一个数据 ...

  4. 用webAudio和canvas实现音频可视化

    前两天遇到了要显示音频波形图的需求,因为时间紧,就直接用了wavesufer.js,这两天有空,就研究了一下怎么用webAudio实现音频的可视化. 大致流程是对音源进行解析,解析得到的数据是个频谱数 ...

  5. Linux 内核 启动时间

    为见到 PCI 如何工作的, 我们从系统启动开始, 因为那是设备被配置的时候. 当一个 PCI 设备上电时, 硬件保持非激活. 换句话说, 设备只响应配置交易. 在上电时, 设备没有内存并且没有 I/ ...

  6. JS求数组最大值常用方法

    第一种方法: 循环数组 let ary = [1,2,22,3,99,100],maxNum = ary[0] function getMaxNum(ary){ for(let i = 1,len = ...

  7. 2018-11-13-WPF-禁用实时触摸

    title author date CreateTime categories WPF 禁用实时触摸 lindexi 2018-11-13 10:45:37 +0800 2018-5-4 21:0:3 ...

  8. gif 格式

    现在使用gif的场景有很多,很多老师喜欢在课件添加 gif 图片 在开始讲gif之前,先告诉大家 gif 的格式. 请看图片,gif 图分为图片文件头(File Header),gif信息(GIF D ...

  9. 【record】#10

    反正最近就一直在1600分左右徘徊;好想回蓝名啊

  10. Avram Joel Spolsky给计算机系学生的建议

    Avram Joel Spolsky给计算机系的学生给了如下建议:     (1)毕业前练好写作     (2)毕业前学好C语言     (3)毕业前学好微观经济学     (4)不要因为枯燥就不选修 ...