Java基本概念-集合框架
2017-01-20 11:56
351 查看
一 集合框架结构
Collection Map
1 接口 List Set
2 类 ArrayList LinkedList Vector HashSet TreeSet HashMap TreeMap Properties
二 Collection接口
1 Collection接口存储一组无序、不唯一的对象
三 List集合(集合添加时是Object,获取时也是Object)
1 List 接口存储一组不唯一,有序的对象,List集合定义时不需要指定大小,也不用指定集合中指定的数据类型
2 实现的类:ArrayList、LinkedList、Vector
3 常用方法:添加元素:add();
获取元素:get();
删除元素:remove();
判断是否含有某元素:contains();
获取集合大小:size();
迭代:通过for循环和get()方法实现
4 各实现类的区别:
ArrayList:非线程安全
内部采用数组实现
数据插入、删除时效率低;查找效率高
不适合频繁插入,频繁删除的情况
Vector:线程安全的,其他同ArrayList
LinkedList:非线程安全
内部采用链表结构实现
数据插入、删除时效率高;查找效率低
适合频繁插入,频繁删除的情况
四 Set集合
1 Set接口存储一组唯一,无序的对象
2 实现的类:HashSet、TreeSet
3 常用方法:添加元素:add();
获取元素:不能获取一个元素
删除元素:remove();
判断是否含有某元素:contains();
获取集合大小:size();
迭代:通过迭代器(Iterator,专门用于迭代集合)的hasNext()和next()方法实现
五 Map集合
1 Map接口存储一组键值对象,提供key到value的映射:
Map集合是通过key取value的,没有下标,没有顺序
Map中的键必须是唯一的,键可以是null,值是可以重复的
2 实现的类:HashMap、TreeMap 、Properties
3 常用方法:添加元素:put();
删除元素:remove()
判断键是否存在:containsKey();
判断值是否存在:containsValue();
返回键对应的值:get();
返回键集合:keySet();
迭代:迭代之前一个先得到键集合,通过键获取值,用迭代器迭代
获取集合大小:size();
六 装箱拆箱
1 装箱(box):基本类型转换为引用类型
2 拆箱(unbox):引用类型转换为基本类型
七 排序
1 Collections:Collections是集合的工具类,提供了集合中常用sort的方法
2 Arrays:Arrays是数组的工具类,提供了关于数组常用sort的方法
3 对CompareTo()方法的重写:sort方法内部在排序时,会比较两个集合元素的大小,如果元素是引用类型,那么元素的值是地址编号,则需要对compareTo()进行重写
八 比较
1 变量特点:存储单个
数据类型限制
2 数组特点:存储固定个数(个数必须写,一旦确定,不能改变)
数据类型限制
3 集合特点:存储任意个(个数可写可不写,写了就是默认容量,如果需要更大容量会自动扩容)
数据类型不受限制
集合中保存的是对象的引用
Collection Map
1 接口 List Set
2 类 ArrayList LinkedList Vector HashSet TreeSet HashMap TreeMap Properties
二 Collection接口
1 Collection接口存储一组无序、不唯一的对象
三 List集合(集合添加时是Object,获取时也是Object)
1 List 接口存储一组不唯一,有序的对象,List集合定义时不需要指定大小,也不用指定集合中指定的数据类型
2 实现的类:ArrayList、LinkedList、Vector
3 常用方法:添加元素:add();
获取元素:get();
删除元素:remove();
判断是否含有某元素:contains();
获取集合大小:size();
迭代:通过for循环和get()方法实现
4 各实现类的区别:
ArrayList:非线程安全
内部采用数组实现
数据插入、删除时效率低;查找效率高
不适合频繁插入,频繁删除的情况
Vector:线程安全的,其他同ArrayList
LinkedList:非线程安全
内部采用链表结构实现
数据插入、删除时效率高;查找效率低
适合频繁插入,频繁删除的情况
四 Set集合
1 Set接口存储一组唯一,无序的对象
2 实现的类:HashSet、TreeSet
3 常用方法:添加元素:add();
获取元素:不能获取一个元素
删除元素:remove();
判断是否含有某元素:contains();
获取集合大小:size();
迭代:通过迭代器(Iterator,专门用于迭代集合)的hasNext()和next()方法实现
五 Map集合
1 Map接口存储一组键值对象,提供key到value的映射:
Map集合是通过key取value的,没有下标,没有顺序
Map中的键必须是唯一的,键可以是null,值是可以重复的
2 实现的类:HashMap、TreeMap 、Properties
3 常用方法:添加元素:put();
删除元素:remove()
判断键是否存在:containsKey();
判断值是否存在:containsValue();
返回键对应的值:get();
返回键集合:keySet();
迭代:迭代之前一个先得到键集合,通过键获取值,用迭代器迭代
获取集合大小:size();
六 装箱拆箱
1 装箱(box):基本类型转换为引用类型
2 拆箱(unbox):引用类型转换为基本类型
七 排序
1 Collections:Collections是集合的工具类,提供了集合中常用sort的方法
2 Arrays:Arrays是数组的工具类,提供了关于数组常用sort的方法
3 对CompareTo()方法的重写:sort方法内部在排序时,会比较两个集合元素的大小,如果元素是引用类型,那么元素的值是地址编号,则需要对compareTo()进行重写
八 比较
1 变量特点:存储单个
数据类型限制
2 数组特点:存储固定个数(个数必须写,一旦确定,不能改变)
数据类型限制
3 集合特点:存储任意个(个数可写可不写,写了就是默认容量,如果需要更大容量会自动扩容)
数据类型不受限制
集合中保存的是对象的引用
相关文章推荐
- java中集合框架的基本概念整理
- java 集合框架--基本概念
- Java学习第14天:集合框架零接触和基本理解(List和Set)
- Java日志框架——基本概念
- Java基础知识强化之集合框架笔记77:ConcurrentHashMap之 ConcurrentHashMap的基本操作
- Java基础之集合概念与 框架结构
- java笔记-集合框架-基本数据类型对象
- Java 回顾笔记_集合框架_基本体系功能和迭代器
- Java基本概念:集合类(Collection)List/Set/Map... 的区别和联系
- 简单总结集合,线程,ssm框架的基本概念
- Java基本功练习十七GUI(图形用户界面基础【基本概念及其使用、三种布局管理器实现同样的框架练习】)
- JAVA学习【7】集合框架与Arraylist、Linkedlist、HashSet的基本用法
- Java基础知识强化之集合框架笔记04:Collection集合的基本功能测试
- 黑马程序员_集合框架基本概念
- 黑马程序员_集合框架基本概念
- 链表与哈希表基本概念及Java常用集合
- Java基本概念:集合类(Collection)List/Set/Map的区别和联系
- [JAVA]集合框架之自己实现一个具有基本增查删改功能的ArrayList
- Java编程思想-集合基本概念
- JAVA之旅(十八)——基本数据类型的对象包装类,集合框架,数据结构,Collection,ArrayList,迭代器Iterator,List的使用