JAVA集合框架(一)-综述
什么是java集合框架
其实就是java类库提供的一套相当完整的各种数据结构的实现。通常也可以叫做“容器”。比如List、Set、Queue和Map。
使用类型安全的容器
通过使用泛型,即给容器添加类型参数,可以在编译期防止将错误类型的对象放置到容器中。例如:
可以声明一个
ArrayList<Person> list = new ArrayList<Person>();
list.add(new Person());
list.add(new Dog())
此时,编译器可以阻止将Dog对象加入到该容器中。同时,在从容器中取出时,也不用做强制类型转换了。
集合框架简图
其中点线框表示接口,实线框表示具体的实现类。空心箭头代表实现或是继承关系。实心箭头表示某个类可以生成箭头所指向的类的对象。
集合类库主要接口简述
Collection
是一个根接口,是对各种集合类的一种抽象。大部分数据结构都实现了 Collection 接口中的方法。Map
存储“键值对”的集合。可以通过键来查找值。最常用的比如HashMap。List
允许存储重复的元素,在Collection的基础上增加了大量的方法,可以在中间插入和删除元素等。一般来说是有序的(元素添加的顺序)。Set
不允许有重复的元素。Set具有和Collection完全一样的接口,因此没有额外的功能。其实Set集合的一般实现类也是有序。比如HashSet是按散列函数来维护自身有序性。TreeSet和LinkedHashSet分别使用了红黑树和链表来维护元素的插入顺序Iterator
迭代器是一个对象,主要的工作是遍历并选择序列中的对象,而不用关心该序列底层的结构。创建它的代价很小。
因此使用迭代器来遍历获取集合元素是一种不错的选择。
Collection接口方法概览
其中,有几个比较常用的方法,比如
- 方法add()添加一个元素到集合中
- addAll()将指定集合中的所有元素添加到集合中
- contains()方法检测集合中是否包含指定的元素
- toArray()方法返回一个表示集合的数组。
- 另外,Collection中有一个iterator()函数,它的作用是返回一个Iterator接口。
JAVA集合框架(一)-综述的更多相关文章
- Java 集合框架(一)—— 接口综述
前言:凡是使用 Java 编程的,几乎肯定会用到集合框架,比如 ArrayList.LinkedList.HashSet.HashMap 等,集合框架的代码绝对是大师级的实现,所以为了更好地使用集合框 ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- java集合框架综述
一.集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和 ...
- (二)java集合框架综述
一集合框架图 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Ja ...
- Java 集合框架综述,这篇让你吃透!
一.集合框架图 简化图: 说明:对于以上的框架图有如下几点说明 1.所有集合类都位于java.util包下.Java的集合类主要由两个接口派生而出:Collection和Map,Collection和 ...
- Java集合框架的总结
本篇文章先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析.当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进 ...
- java集合框架之java HashMap代码解析
java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...
- java集合框架1
1.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量).(数组既可以保存基本类型的数据也可以保存对象). 当我们把一个对象放入集合中后,系统会把所有集合元素都当成O ...
- Java集合框架的知识总结(1)
说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析. 1.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象 ...
随机推荐
- Atmel Studio 7.0 的使用方法
就在最近,Atmel终于推出了新版本IDE——Atmel Studio 7.0,该版本采用了微软最新的 Visual Studio 2015 平台,经过一段时间使用,Atmel Studio 7.0在 ...
- 使用where 过滤数据
--本章主要内容是MySQL中使用where搜索条件进行过滤数据. where条件在from子句后面给出,如下所示: select name,price from shops where price& ...
- 用js写直角三角形,等腰三角形,菱形
//一. 画一个直角三角形 // 第几行 *号数 // * 1 1 // ** 2 2 // *** ...
- jquery查出元素名称
<div onclick='$(this).prop("tagName")'></div> 最后的结果 DIV
- C++生成完全二叉树
C++生成完全二叉树 2019-12-20 By Gauss 1.背景介绍 完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树而引出来的.对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都 ...
- Linux下的密码破解
密码散列: 密码散列的$6 表示是:SHA512 这里我们使用hashcat 工具进行破解 ╰─ hashcat -m 1800 hash.txt /usr/share/wordlists/rocky ...
- 搭建API Mock
所需环境 Node.js + MySQL 5.7+ Redis 4.0+ Node.js 安装 .要安装nvm,需要安装构建源包所需的工具,CentOS 上安装,用这些命令来安装构建工具: sudo ...
- Cocos Creator 资源加载流程剖析【五】——从编辑器到运行时
我们在编辑器中看到的资源,在构建之后会进行一些转化,本章将揭开Creator对资源进行的处理. 资源处理的整体规则 首先我们将Creator的开发和运行划分为以下几个场景: 编辑器 当我们将资源放到编 ...
- 基于H7的中移动物联例子以及简易操作说明,方便电脑端和手机端远程查看数据
说明: 1.操作前,务必优先看此贴里面的基础例子,先将WIFI连接到路由器上,这样才可以访问外网: https://www.cnblogs.com/armfly/p/11307803.html 2.有 ...
- MySQL主从复制配置(Docker容器内配置)
主从工作原理: 配置介绍: MASTER:172.17.0.2 SLAVE:172.17.0.3 MASTER内数据库: 仅仅同步以上两个库(在configerdata库中创建了wu2表) SLAVE ...