一、概述

集合是 Java 中非常重要的 API,在实际应用中非常广泛,在许多面试中也是必考的知识点。

Java 所有集合类都位于 java.util 包下,Java 的集合只能保存对象,而无法保存保存基本数据类型。当你尝试把一个基本数据类型存入集合中时,Java 会将其自动转为对应的对象类型(这就是自动装箱)。而当我们把一个对象放入集合中后,系统会把所有集合元素都当成 Object 类的实例进行处理。但从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类型。

二、Java 集合的体系结构

Java 集合体系下有两个根接口:Collection 接口和 Map 接口,所有集合类都由着两个接口派生。

Collection 接口

Collection 接口下有 3 个子接口:Set、List、Queue 接口

  • Set 代表的是一个无序不可重复的集合,常用的实现类有:HashSet、TreeSet。
  • List 代表的是有序可重复的集合,常用的实现类有:ArrayList / Vector。
  • Queue 是 Java 提供的队列实现,是一种先进先出的数据结构。

Map 接口

Map 实现类用于保存具有映射关系的数据(key-value),常用的类有:Hashtable、 HashMap 、Properties。

参考资料:

http://www.cnblogs.com/lancee/archive/2012/08/26/2657481.html

1.Java集合总结系列:Java集合概述的更多相关文章

  1. Java面试题系列 ----- Java基础面试题(91道)

    更多详情点击查看,点这里!这里!!这里!!! 文末获取所有面试PDF文档! Java概述 1. 何为编程 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程. 为了 ...

  2. java的nio之:java的nio系列教程之概述

    一:java的nio的核心组件?Java NIO 由以下几个核心部分组成: ==>Channels ==>Buffers ==>Selectors 虽然Java NIO 中除此之外还 ...

  3. 4.熟悉Java基本类库系列——Java 正则表达式类库

    正则表达式语法结构图: Java正则表达式类库结构图: Java典型例子 1.String类 matches()方法 判断字符串是否符合特定正则表达式 @Test public void testRe ...

  4. 2.熟悉Java基本类库系列——Java IO 类库

    Java中常用的IO操作基本上可以分为四大部分,分别是:File类操作.RandomAccessFile类操作.字节流操作.字符流操作.只要熟练掌握了本文中所列举的所有例子,基本上对于Java的IO流 ...

  5. 1.熟悉Java基本类库系列 - 目录

    写这个系列是想让自己多熟悉熟悉Java的基本类库,忘记的时候可以在这里看看之前写过的例子,这样就可以很快的回忆起来如何使用了. 这样就可以很节省时间了. ======= 下面是传送门啦 ======= ...

  6. java高并发系列 - 第5天:深入理解进程和线程

    进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.程序是指令.数据及其组织形式的描述,进程是程序的实体. 进程具有的 ...

  7. java基础解析系列(三)---HashMap

    java基础解析系列(三)---HashMap java基础解析系列 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)-- ...

  8. java高并发系列-第1天:必须知道的几个概念

    java高并发系列-第1天:必须知道的几个概念 同步(Synchronous)和异步(Asynchronous) 同步和异步通常来形容一次方法调用,同步方法调用一旦开始,调用者必须等到方法调用返回后, ...

  9. java高并发系列 - 第6天:线程的基本操作

    新建线程 新建线程很简单.只需要使用new关键字创建一个线程对象,然后调用它的start()启动线程即可. Thread thread1 = new Thread1(); t1.start(); 那么 ...

  10. java高并发系列 - 第12天JUC:ReentrantLock重入锁

    java高并发系列 - 第12天JUC:ReentrantLock重入锁 本篇文章开始将juc中常用的一些类,估计会有十来篇. synchronized的局限性 synchronized是java内置 ...

随机推荐

  1. Docker入门01——Image

    1.获取镜像 2.列出镜像 3.创建镜像 3.1 修改已有镜像 3.2 使用Dockerfile创建镜像 创建Dickerfile文件 使用build来创建镜像 使用新创建的镜像来启动容器 4.移除镜 ...

  2. vue组件最佳实践

    看了老外的一篇关于组件开发的建议(强烈建议阅读英文原版),感觉不错翻译一下加深理解. 这篇文章制定一个统一的规则来开发你的vue程序,以至于达到一下目的. 1.让开发者和开发团队更容易发现一些事情. ...

  3. [HDU]1016 DFS入门题

    题目的意思就是在1到n的所有序列之间,找出所有相邻的数相加是素数的序列.Ps:题目是环,所以头和尾也要算哦~ 典型的dfs,然后剪枝. 这题目有意思的就是用java跑回在tle的边缘,第一次提交就tl ...

  4. python之实现批量远程执行命令(堡垒机)

    python远程批量执行 我并不是一个专业的开发,我一直在学习linux运维,对于python也是接触不久,所以代码写的并不是很规范简洁. 前段时间一个同学找我一起做一个自动化运维平台,我对pytho ...

  5. HTTPS 为什么更安全,先了解一下密码学的这些原理

    HTTPS 是建立在密码学基础之上的一种安全通信协议,严格来说是基于 HTTP 协议和 SSL/TLS 的组合.理解 HTTPS 之前有必要弄清楚一些密码学的相关基础概念,比如:明文.密文.密码.密钥 ...

  6. Protobuf 在Ubuntu 14上的编译与使用

    前言 一直知道Google开源的一个与语言无关的数据交换协议:protobuf.只知道是一种不同于json和XML的格式,还有就是性能特别的好(这在Java和C++的实现确实是!) 最近闲下来看了下G ...

  7. AVFoundation之如何从摄像头获取图像

    前言: 最近项目有个需求是对试图对手机密码进行强破解的人进行拍照(通过摄像头截图),因为之前没做过,所以一堆坑.现在就把我的经验都分享出来,希望后来人不用再踏上坑途中. 直接上代码: // 创建会话 ...

  8. netflix zuul 学习

    netflix zuul 是netflix开发的一个EDGE SERVICE. 主要是作为一个API Gateway 服务器,可以实现安全,流量控制等功能. 我看的是1.x的版本,Zuul1.x的实现 ...

  9. js 判断是否为空对象、空数组

    当需要判断参数是否为空时,总希望 js 能够提供原生的判断方法,可惜并没有,只能自己封装了. function isEmpty(obj) { // 检验 undefined 和 null if(!ob ...

  10. 开发使用Node.js的一个小技巧

    Node.js作为可以在服务器端运行的一门语言,其处理长连接.多请求的优势受到各大编程爱好者的追捧. 但是在开发调试方面却极为不方便,因为每次改动代码后,都需要终止当前进程,重启服务器.supervi ...