java集合系列_Java集合系列01-Java集合概述
1.Java集合基本概念
在编程中,常常需要集中存放多个数据。从传统意义上讲,数组是我们的一个很好的选择,前提是我们事先已经明确知道我们将要保存的对象的数量,因为数组长度在初始化时指定,意味着只能保存定长的数据。一旦在数组初始化时指定了这个数组长度,这个数组长度就是不可变的,如果我们需要保存一个可以动态增长的数据(在编译时无法确定具体的数量),java的集合类就是一个很好的设计方案了。
集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所以的集合类都位于java.util包下,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。后来为了处理多线程环境下的并发安全问题,java5还在java.util.concurrent包下提供了一些多线程支持的集合类。
2.Java集合关系介绍
Java可以划分3个部分:Collection(List、Set)、Map、和集合工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)
1. Collection是一个集合,包含了集合的基本操作方法和属性,它包含List和Set两大分支:
(01)List是一个有序的队列,每一个元素都有它的索引。第一个元素的索引值是0。它的实现类有LinkedList, ArrayList, Vector, Stack。
(02)Set是一个不允许有重复元素的集合。它的实现类有HastSet和TreeSet。HashSet依赖于HashMap,它实际上是通过HashMap实现的;TreeSet依赖于TreeMap,它实际上是通过TreeMap实现的。
2. Map是一个映射接口,即key-value键值对。Map中的每一个元素包含“一个key”和“key对应的value”。
AbstractMap是个抽象类,它实现了Map接口中的大部分API。而HashMap,TreeMap,WeakHashMap都是继承于AbstractMap。
Hashtable虽然继承于Dictionary,但它实现了Map接口。
3. Iterator是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。我们说Collection依赖于Iterator,是因为Collection的实现类都要实现iterator()函数,返回一个Iterator对象,实现这个Iterable接口的对象允许使用foreach进行遍历,也就是说,所有的Collection集合对象都具有"foreach可遍历性"。而ListIterator是专门为遍历List而存在的。
4. Enumeration是JDK 1.0引入的抽象类。作用和Iterator一样,也是遍历集合;但是Enumeration的功能要比Iterator少。在上面的框图中,Enumeration只能在Hashtable, Vector, Stack中使用。
5.Arrays和Collections是操作数组、集合的两个工具类。
参考:
java集合系列_Java集合系列01-Java集合概述相关推荐
- java futher多线程_Java多线程系列--“JUC集合”05之 ConcurrentSkipListMap
概要 本章对Java.util.concurrent包中的ConcurrentSkipListMap类进行详细的介绍.内容包括: ConcurrentSkipListMap介绍 ConcurrentS ...
- java代码讲解_Java基础系列-代码块详解
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 前言 Java基础系列,尽量采用通俗易懂.循序渐进的方式,让大家真正理解Java基础知识! 代码块 ...
- java comparable接口_Java面试题之Java集合篇三
Java面试题之Java集合篇三1.HashMap和HashTable有何不同? (1)HashMap允许key和value为null,而HashTable不允许. (2)HashTable是同步的, ...
- java arraylist用法_Java入门系列:实例讲解ArrayList用法
本文通过实例讲解Java中如何使用ArrayList类. Java.util.ArrayList类是一个动态数组类型,也就是说,ArrayList对象既有数组的特征,也有链表的特征.可以随时从链表中添 ...
- java中单根_java之 单根继承与集合
1.单根继承 概念: 单根继承,意味着所有类的继承,都继承自单一的基类的继承模式 优点: (1)所有对象都具有一个共用接口,归根到底都是相同的基本类型. (1)所有对象都具有一个共用接口,归根到底都是 ...
- java 集合数据类型_Java基础知识(数据类型和集合)
一.数据类型 包装类型 包装类型是对基本数据类型不足之处的补充. 基本数据类型的传递方式是值传递,而包装类型是引用传递,同时提供了很多数据类型间转换的方法. Java1.5 以后可以自动装箱和拆箱 二 ...
- java nio多路复用_Java NIO系列教程(六) 多路复用器Selector
多路复用器Selector是Java NIO编程的基础,熟练地掌握Selector对于掌握NIO编程至关重要.多路复用器提供选择已经就绪的任务的能力.简单来讲,Selector会不断地轮询注册在其上的 ...
- java api 框架_java常用对象API之集合框架
说到集合框架,其实刚开始学的时候有点自我感觉很简单,自己认为就是集合类中的框架之类的,但是当自己简单把它过了一变后发现懵里懵懂的,什么都没懂,于是自己又认认真真的看了一遍,才弄明白. 说到集合框架就不 ...
- java display.getdefault()_java基础(十一 )-----反射——Java高级开发必须懂的
本文我们通过一个实际的例子来演示反射在编程中的应用,可能之前大家对反射的学习,仅仅是停留在概念层面,不知道反射究竟应用在哪,所以是一头雾水.相信通过这篇教程,会让你对反射有一个更深层次的认知. 概念 ...
- collection集合 地址_java.util包下的集合
Java 集合可分为 Collection 和 Map 两种体系 1.Collection接口:单列数据,定义了存取一组对象的方法的集合 List:元素有序.可重复的集合 Set:元素无序.不可重复的 ...
最新文章
- 谷歌学术公布2021年最有影响力工作,CV顶会论文“夹缝求生”!凯明 YYDS!
- Javascript中字符串转数字
- k8s之wsl2+kind+docker desktop搭建kubevela测试集群
- 百度代码规范 -- PHP
- 函数创建对象(2)原型模式
- matlab批量生成灰度图像_科学网—matlab彩色图像的批处理转换为灰度、二值和主成分图图像 - 金秀良的博文...
- python的回收机制_Python垃圾回收机制【人生苦短,我用python】-阿里云开发者社区...
- 使用ftp上传文件到Unix系统注意事项
- mysql 查询数据库名是否存在_SQL查询数据库是否存在
- gssapiauthentication
- 竞价实例-让ESS省上加省
- 大学最应该学习的 5 门课, 毕业后大厂 Offer 直接拿到手软!
- 《Android框架揭秘》——2.3节搭建Android SDK开发环境
- protues打不开问题
- linux获取utc时间函数,Linux下的时间函数
- iOS 不能播放远程视频(Android 可以)的问题
- AndroidStudio Launching ‘app‘ Time out 错误
- springboot初次使用template可能遇到的问题
- iOS常见面试题总结
- SQL CheatSheet Joins
热门文章
- Kubernetes 和 Docker,到底什么关系?
- Facebook陷入史上最大危机;华为5G设备欧洲大卖,美国指责欧盟;红帽宣布OpenShift可用于AWS中国……...
- Facebook 约十亿美元收购脑机技术公司,助攻AR研发;苹果宣布新款 Mac Pro 在美国生产;谷歌称已实现量子霸权…...
- brew安装指定版本mysql,Mac 系统为 Valet 开发环境安装指定版本 MySQL
- nacos 开启权限验证后 报错状态 403
- 集合判断哪非空 、2个集合取交集/并集/差集
- MybatisPlus_进阶
- Dubbo Zookeeper Quick Start
- 第六篇:Spring Boot 访问静态资源
- 把字符串按照某几个字符切割成数组