一大波Java来袭(五)——Java集合概述
2015-05-28 22:13
295 查看
把“Java集合”比作是容器,可以把多个对象(实际:是对象的引用),扔在容器中。
JDK1.5之前,被丢进集合中的对象,会丢失起数据类型。默认为Object类型
JDK1.5之后,不会丢失数据类型,因为引入了“泛型”(作为下文重点)
本文将结合数据结构,重点讲述Java的4种集合体系的功能和用法,并给出不同应用场景改如何选择?
一、同样是用于“存储数据”,既可以使用“数组”,有可以使用“集合”,有什么区别吗?
数组:
初始化时,决定了盛放数据的数量是固定的
无法保存,具有映射关系的数据
用于盛放:基本类型的值,或对象(对象的引用)
集合
恰好弥补数组的i、ii的不足
仅用于盛放:对象(对象的引用)
二、Java集合类主要由两个接口派生出:Collection和Map,两接口又包含了一些子接口和实现类(简化版)。
Collection树
Set无序,不可重复
List有序,可重复
Map树,关联数组
三、把Java的所有集合分为3类:
Set,类似于一个罐子,对象随机添加到Set集合中,Set集合无法记住添加元素的顺序。所以Set中的元素是不可重复的(否则系统无法准确识别这个元素)
List,类似于一个数组,可以记住元素添加的顺序,区别在于List长度是可变的
Map,也类似于一个罐子,只是里面的每个数据项都是有两个值组成的
Map接口,字典/关联数组,键值对存放,key和value单向一对一
Map图,拆分为
key罐子(无序、不可重复,类似Set集合)和
value罐子(可重复,可根据索引查找,类似List集合【区别:此处为key索引,而不是数字索引】)
四、如何访问元素?
Set,根据元素本身
List,根据元素的索引
Map,根据key来访问对应的value
相关文章:
《一大波Java来袭(六)——Java集合之Collection和Iterator接口》
《一大波Java来袭(七)——Java集合之Set接口》
《一大波Java来袭(八)——Java集合之List接口》
JDK1.5之前,被丢进集合中的对象,会丢失起数据类型。默认为Object类型
JDK1.5之后,不会丢失数据类型,因为引入了“泛型”(作为下文重点)
本文将结合数据结构,重点讲述Java的4种集合体系的功能和用法,并给出不同应用场景改如何选择?
一、同样是用于“存储数据”,既可以使用“数组”,有可以使用“集合”,有什么区别吗?
数组:
初始化时,决定了盛放数据的数量是固定的
无法保存,具有映射关系的数据
用于盛放:基本类型的值,或对象(对象的引用)
集合
恰好弥补数组的i、ii的不足
仅用于盛放:对象(对象的引用)
二、Java集合类主要由两个接口派生出:Collection和Map,两接口又包含了一些子接口和实现类(简化版)。
Collection树
Set无序,不可重复
List有序,可重复
Map树,关联数组
三、把Java的所有集合分为3类:
Set,类似于一个罐子,对象随机添加到Set集合中,Set集合无法记住添加元素的顺序。所以Set中的元素是不可重复的(否则系统无法准确识别这个元素)
List,类似于一个数组,可以记住元素添加的顺序,区别在于List长度是可变的
Map,也类似于一个罐子,只是里面的每个数据项都是有两个值组成的
Map接口,字典/关联数组,键值对存放,key和value单向一对一
Map图,拆分为
key罐子(无序、不可重复,类似Set集合)和
value罐子(可重复,可根据索引查找,类似List集合【区别:此处为key索引,而不是数字索引】)
四、如何访问元素?
Set,根据元素本身
List,根据元素的索引
Map,根据key来访问对应的value
相关文章:
《一大波Java来袭(六)——Java集合之Collection和Iterator接口》
《一大波Java来袭(七)——Java集合之Set接口》
《一大波Java来袭(八)——Java集合之List接口》
相关文章推荐
- 一大波Java来袭(六)——Java集合之Collection和Iterator接口
- 基于XML配置文件的事务管理
- 一大波Java来袭(八)——Java集合之List接口
- 一大波Java来袭(七)——Java集合之Set接口
- 轻量级javaEE SSH 02: jsp servlet
- 轻量级javaEE SSH 01: 概述 环境与工具篇
- 【java基础知识】并发
- HDU ACM 1850 Being a Good Boy in Spring Festival
- spring4.2完整web项目(使用html视图解析器)
- 题目1158:买房子 JAVA
- java 虚拟机与并发处理几个问题简要(一)
- java 虚拟机与并发处理几个问题简要(一)
- java中的多线程一:实现多线程
- 深入理解java异常处理机制
- JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解
- Java基础知识之IO(1)
- java资料汇总
- 我是菜鸟:Java泛型学习
- Spring 配置数据源 利用JdbcTemplate工具类实现增删改查
- Java Servlet学习笔记(三)Servlet表单数据