Java 集合框架学习
来源:互联网 发布:java 捕获异常后抛出 编辑:程序博客网 时间:2024/05/16 16:16
15-9-21集合框架 一
Arraylist以线性表实现,Java集合框架能跟有效的组织和操作数据,一种数据结构也被认为是一个容器(容器对象),它是一个能存储其他对象(如数据和元素)的对象。
定义一种数据结构从本质上讲是定义一个类。数据结构类赢使用数据域存储数据,并提供方法支持查找、插入和删除等操作。
1、 集合
Java集合框架支持三种主要类型的集合:规则集(set)、线性表(list)、队列(queue)。Set用于存储一组不重复的元素。List用于存储一个由元素构成的有序集合,Queue用于存储用先进先出方式处理的对象 。
Collection接口是处理对相机和的根接口,AbstractCollection类是提供Collection接口部分实现的便利类(没有实现size和iterator方法)。
方法:
add():给集合添加一个元素
addAll():把指定集合的所有元素添加到这个集合中
remove():删除集合中的元素
removeAll():从这个集合中删除指定集合的所有元素
retainAll():保留即两个集合的交集
上述方法的返回值都是boolean类型,如果执行方法后会改变原有集合则返回true。
size():返回集合中元素的个数
contains():检测集合中是否包含指定元素
containsAll():检测集合是否包含指定集合的所有元素
isEmpty():集合是否为空
toArray():返回一个表示集合的数组
Iterator接口提供了对不同类型集合中的元素进行遍历的同一方法
iterator():返回Iterator接口的一个实例
next():顺序访问集合中的所有元素
hasNext():检测迭代器中是否还有更多的元素
remove():删除从迭代器返回的最后一个元素
2、 规则集
Set接口扩展了Collection接口。AbstractSet类是一个便利类,它扩展AbstractCollection类并实现Set接口。AbstractSet类提供equals()和hashCode()的具体实现。一个规则集的散列码是这个所有元素散列码的和。
由于AbstractSet类没有实现size()和iterator()方法,所以,AbstractSet类是一个抽象类。
Set接口的三个具体类:散列类HashSet、链式散列集LinkedHashSet、树形集TreeSet
2.1 散列集HashSet
HashSet类是一个用于实现Set接口的具体类,可以使用它的无参构造方法创建空的散列集,也可以由一个现有的集合创建散列集。默认情况下,初始容量为16而客座率是0.75
客座率测量在增加规则集的容量之前,该规则集的饱满程度。比较高的客座率会降低空间开销,但会增加查找时间。通常情况下,默认的客座率为0.75,它是在时间开销和空间开销上一个很好的权衡。
HashSet类可以用来存储互不相同的任何元素。考虑到效率的因素,添加到散列集中的对象必须以一种正确分散散列码的方式来实现hashCode方法。根据Object类中定义的hashCode方法,如果两个对象相等,那么这两个对象的散列码必须一样。两个不相等的对象可能会有相同的散列码,因此你应该实现hashCode方法一避免出现太多这样的情况。Java API中大多数类都实现了hashCode方法,Integer类中的hashCode返回它的int值,Character类中的hashCode方法返回这个字符的统一码,String类的hashCode
- 学习java集合框架
- Java学习---集合框架
- Java 集合框架学习
- java学习--集合框架
- Java集合框架学习
- Java集合框架学习
- 学习java集合框架
- 【java学习】集合框架
- Java集合框架学习记录
- JAVA集合类框架学习
- Java集合类框架学习
- java学习之集合框架
- java集合框架学习笔记
- java 集合框架学习总结
- Java集合框架类学习
- Java集合框架学习总结
- JAVA学习十九:集合框架
- java集合框架的学习
- SharedPreference.Editor的apply和commit方法区别
- MySQL之锁 for update锁表的范围 和Innodb建议使用与业务无关的自增ID作为主键
- 算法系列——向量空间模型计算模板选择
- 3.分析Linux内核的启动过程
- Oracle EBS 提示XX对当前用户不可用--XX is not a valid responsibility for the current user
- Java 集合框架学习
- CSDN-Markdown使用指南
- Struts2
- Windows下Redis的安装使用
- Java之旅Struts系列(1)——Struts1(前奏)
- java中八种基本类型及默认值(2015年9月22日)
- 重启学校项目第一步。
- TableView的使用
- Integer、int类型的==关系