`

深入java集合类系列:概述

 
阅读更多

由一组类和接口组成的Java集合框架(JCF)它是封装数据结构和算法。
JCF的作用:1、向集合中装纳对象,装纳的对象被称为元素。
           2、为我们提供元素的算法实现。
           3、利用集合进行对象的传输(减小性能,节省空间)。
 集合类型主要有3种:set(集)、list(列表)和map(映射)

(1)set(集)

集(set)是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。
对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象。
集也有多种变体,可以实现排序等功能,如TreeSet,它把对象添加到集中的操作将变为按照某种比较规则将其插入到有序的对象序列中。它实现的是SortedSet接口,也就是加入了对象比较的方法。通过对集中的对象迭代,我们可以得到一个升序的对象集合。

(2)list(列表)
列表的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的集是不同的。
列表在数据结构中分别表现为:数组和向量、链表、堆栈、队列。

(3)map(映射)
映射与集或列表有明显区别,映射中每个项都是成对的。映射中存储的每个对象都有一个相关的关键字(Key)对象,关键字决定了对象在映射中的存储位置,检索对象时必须提供相应的关键字,就像在字典中查单词一样。关键字应该是唯一的。
关键字本身并不能决定对象的存储位置,它需要对过一种散列(hashing)技术来处理,产生一个被称作散列码(hash code)的整数值,散列码通常用作一个偏置量,该偏置量是相对于分配给映射的内存区域起始位置的,由此确定关键字/对象对的存储位置。理想情况下,散列处理应该产生给定范围内均匀分布的值,而且每个关键字应得到不同的散列码

 

java集合类存放于java.util包中。
【1】Set、List接口继承Collection接口
(1)Set不允许重复,使用自己内部的一个排列机制。
(2)List允许重复,以元素安插的次序来放置元素,不会重新排列

 

list接口实现类包括:arraylist(数组列表)、linkedlist(链表列表)、vector(向量)、stack(堆栈)。
set接口实现类包括:Hashset(哈希算法)、treeset(放进去无序,拿出来有序)。

SortedSet接口为set提供了排序的功能。

【2】Map接口是一组成对的键-值对象

Map未继承Collection接口。

Map接口实现类包括:treeMap(自然排序和自定义排序两种方式)、hashmap(键是唯一的)、LinkedHashMap (保存了记录的插入顺序)。

SortedMap接口为map类型容器提供对键的排序。

后续将深入我们常用的集合类的用法,主要从2个方面分析

(1):各个集合类相关属性。

(2):各个集合类的创建,填充元素,删除元素,读取元素,清空,即一些集合类的特性。

最后总结将各个集合类进行比较,讲述各个集合类在不同的场景的使用。

  (1)深入java集合类系列:ArrayList

 

  • 大小: 51.1 KB
  • 大小: 68 KB
分享到:
评论

相关推荐

    Java面试通关宝典:深度解读核心知识点与实战技巧,全面提升面试表现力与技术实力

    Java集合框架:这部分问题关注ArrayList、LinkedList、HashMap、HashSet等集合类的特性和使用。例如,比较ArrayList和LinkedList的优缺点;解释HashMap的工作原理和如何处理哈希冲突;讨论如何选择合适的集合类来...

    (超赞)JAVA精华之--深入JAVA API

    1.1 深入JAVA API 1.1.1 Lang包 1.1.2 集合类 1.1.2.1.1 日期类Date 1.1.2.1.2 日历类Calendar 1.1.2.1.3 随机数类Random 1.1.2.1.4 向量类Vector 1.1.2.1.5 栈类Stack 1.1.2.1.6 哈希表类Hashtable 1.1.2.1.7 ...

    Java基础(韩顺平版)笔记详

    Java语言概述和环境搭建 基本数据类型、变量和运算符 控制语句:条件语句和循环语句 数组和字符串处理 面向对象编程:类和对象、继承、封装、多态 异常处理机制 集合框架:List、Set、Map等 输入输出(I/O):文件...

    深入理解Java虚拟机视频教程(jvm性能调优+内存模型+虚拟机原理)视频教程

    第86节类加载机制概述00:07:26分钟 | 第87节类加载时机00:13:15分钟 | 第88节类加载的过程-加载00:15:15分钟 | 第89节类加载的过程-验证00:10:24分钟 | 第90节类加载的过程-准备00:05:40分钟 | 第91节类加载的...

    编程课件+Java系列课程+PPT课件+Java教学

    - Java概述:介绍Java的历史、特点和应用领域。 - 开发环境搭建:指导安装JDK和配置开发环境,推荐使用IDE如IntelliJ IDEA。 二、基础语法 - 数据类型与变量:讲解基本数据类型和变量声明。 - 运算符:介绍各种...

    深入理解JVM内存结构及运行原理全套视频加资料.txt

    JVM是Java知识体系中的重要部分,对JVM底层的了解是每一位Java程序员深入Java技术领域的重要因素。本课程试图通过简单易懂的方式,系统的深入讲解JVM相关知识。包括JVM执行过程、虚拟机类加载机制、运行时数据区、GC...

    Java开发详解.zip

    031314_【第13章:Java类集】_集合工具类:Collections笔记.pdf 031315_【第13章:Java类集】_Stack类笔记.pdf 031316_【第13章:Java类集】_属性类:Properties笔记.pdf 031317_〖第13章:Java类集〗_范例讲解:一...

    JAVA SE学习精华集锦

    1.1 深入JAVA API 2 1.1.1 Lang包 2 1.1.2 集合类 8 1.1.2.1.1 日期类Date 9 1.1.2.1.2 日历类Calendar 10 1.1.2.1.3 随机数类Random 11 1.1.2.1.4 向量类Vector 12 1.1.2.1.5 栈类Stack 13 1.1.2.1.6 哈希表类...

    疯狂JAVA讲义

    7.1 Java集合概述 241 7.2 Collection和Iterator接口 243 7.2.1 使用Iterator接口遍历集合元素 244 7.2.2 使用foreach循环遍历集合元素 246 7.3 Set接口 247 7.3.1 HashSet类 247 学生提问:hashCode方法对于...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    前 言 致 谢 第一部分 走近Java 第1章 走近Java / 2 1.1 概述 / 2 1.2 Java技术体系 / 3 1.3 Java发展史 / 5 1.4 展望Java技术的未来 / 9 1.4.1 模块化 / 9 1.4.2 混合语言 / 9 1.4.3 多核并行 / 11 ...

    Java语言程序设计

    不但详细介绍了Java语言本身,而且讨论了面向对象的设计思想和编程方法、UML建模语言、图形用户界面的编程方法、网络和数据库程序的编程方法、线程的使用、Java集合框架等实用开发技术。全书以面向对象的程序设计...

    java并发编程综合讲解

    我们将详细介绍 JUC 提供的线程安全集合类,如 ConcurrentHashMap 和 ConcurrentLinkedQueue,以及它们在实际应用中的用法。 通过这份资源,您将获得全面的 Java 并发编程知识,从基础概念到高级应用,从工具使用到...

    JAVA基础课程讲义

    字符串(java.lang.String类)的使用 90 字符串相等的判断 92 思考作业 93 上机作业 94 第四章 异常机制 95 导引问题 95 异常(Exception)的概念 96 异常分类 96 Error 97 Error和Exception的区别 97 Exception 97 ...

    Java虚拟机

    这本书的内容是帮你全面了解java虚拟机,本书第1版两年内印刷近10次,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的...

    Java数据编程指南

    【原 书 名】 Professional Java Data 【原出版社】 Wrox 【作 者】[美] Danny Ayers ,John Bell ,Carl Calvert Bettis等 【译 者】 戴英 张晓晖 王辉 等 【丛 书 名】 乐思公司编程指南系列 ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    1.1 经典Java EE应用概述 10 1.1.1 Java EE 6相关规范 10 1.1.2 经典Java EE应用的分层模型 11 1.1.3 经典Java EE应用的组件 13 1.1.4 经典Java EE应用架构的优势 13 1.1.5 常用的企业服务器 14 1.2 经典Java EE应用...

    Java核心技术.第9版.卷1.卷2.英文版

    Java领域最有影响力和价值的著作之一,由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt...本书对Java技术的阐述精确到位,叙述方式深入浅出,并包含大量示例代码,能够帮助读者充分理解Java语言并灵活应用。

    《面向对象程序设计java)》课程整体教学设计.docx

    通过完成我爱追星、门禁系统、成绩管理、跑步比赛、键盘游戏图形界面程序,使学生能够熟深入理解面向对象的基本概念,熟练运用GUI、多线程、集合、JDBC等java编程技术,熟练运用面向对象程序设计的编程思想开发微型...

Global site tag (gtag.js) - Google Analytics