java集合类型 java集合类详解和使用

编程时,可以使用数组存储多个对象,但数组长度不能改变。一旦在初始化数组时指定了数组长度,就不能更改数组长度。如果需要保存数量变化的数据,数组有点无奈。而且数组不能存储有映射关系的数据。比如成绩单是语文-79,数学-80。这种数据看起来像两个数组,但是这两个数组的...

编程时,可以使用数组存储多个对象,但数组长度不能改变。一旦在初始化数组时指定了数组长度,就不能更改数组长度。如果需要保存数量变化的数据,数组有点无奈。而且数组不能存储有映射关系的数据。比如成绩单是语文-79,数学-80。这种数据看起来像两个数组,但是这两个数组的元素是相互关联的。

为了保存数量不定的数据,以及有映射关系的数据(也叫关联数组),Java提供了一个***类。***类主要负责存储和保存其他数据,所以***类也叫容器类。所有的Java***类都位于java.util包下,Java . util包提供了一个表示和操作对象***的统一框架,包括大量的***接口、它们的实现类以及操作它们的算法。

类不同于数组。数组元素可以是基本类型的值,也可以是对象(实际上是保存对象的引用变量),而***中只能保存对象(实际上是只保存对象的引用变量,但通常习惯上认为对象保存在***中)。

Java***类型分为Collection和Map,是Java***的根接口,这两个接口包含一些子接口或者实现类。图1和图2分别是Collection和Map的子接口及其实现类。

地图界面结构

在图1和图2中,电影块是***的接口,蓝色块是***的实现类。表1描述了这些接口的功能。

表1 1 Java采集接口的功能

接口名称作 用Iterator 接口***的输出接口,主要用于遍历输出(即迭代访问)Collection ***中的元素,Iterator 对象被称之为迭代器。迭代器接口是***接口的父接口,实现类实现 Collection 时就必须实现 Iterator 接口。Collection 接口是 List、Set 和 Queue 的父接口,是存放一组单值的最大接口。所谓的单值是指***中的每个元素都是一个对象。一般很少直接使用此接口直接操作。Queue 接口Queue 是 Java 提供的队列实现,有点类似于 List。Dueue 接口是 Queue 的一个子接口,为双向队列。List 接口是最常用的接口。是有序***,允许有相同的元素。使用 List 能够精确地控制每个元素插入的位置,用户能够使用索引(元素在 List 中的位置,类似于数组下标)来访问 List 中的元素,与数组类似。Set 接口不能包含重复的元素。Map 接口是存放一对值的最大接口,即接口中的每个元素都是一对,以 key?value 的形式保存。

对于set、List、Queue、Map这四个***,Java中最常用的实现类有HashSet、TreeSet、ArrayList、ArrayDueue、LinkedList、HashMap、TreeMap等。表2介绍了***中这些常用的实现类。

表2Java***实现类的角色

类名称作用HashSet为优化査询速度而设计的 Set。它是基于 HashMap 实现的,HashSet 底层使用 HashMap 来保存所有元素,实现比较简单TreeSet实现了 Set 接口,是一个有序的 Set,这样就能从 Set 里面提取一个有序序列ArrayList一个用数组实现的 List,能进行快速的随机访问,效率高而且实现了可变大小的数组ArrayDueue是一个基于数组实现的双端队列,按“先进先出”的方式操作***元素LinkedList对顺序访问进行了优化,但随机访问的速度相对较慢。此外它还有 addFirst()、addLast()、getFirst()、getLast()、removeFirst() 和 removeLast() 等方法,能把它当成栈(Stack)或队列(Queue)来用HsahMap按哈希算法来存取键对象TreeMap可以对键对象进行排序

本文来自习惯有你投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/527087.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 04-30
下一篇 04-30

相关推荐

  • 思维导图是什么意思,思维导图的10种类型分析

    你可能听过两种完全不同的关于思维导图的观点。一个是思维导图是灵丹妙药。如果平时学习不好,一旦学会思维导图,什么问题都可以解决。另一种观点认为思维导图只是一个绘图工具,作用不大。今天分享这篇文章的目的就是让大家正确认识思维导图。什么是思维导图?为什么要用思维

    2023-07-28 10:11:01
    604 0
  • redis支持的数据类型有哪些 redis支持的5种类型

    Redis的五种数据结构如下:对于redis,所有的键都是字符串。1.字符串字符串类型是redis中最基本的数据类型,一个键对应一个值。字符串类型是二进制安全的,这意味着redis的字符串可以包含任何数据。如数字、字符串、jpg图片或序列化对象。使用:get、set、del、incr、decr等。1

    2023-07-26 16:55:01
    285 0
  • 如何将int转为string类型 一览2种类型互换方式

    1,int和string类型相互转换int->;String: std:: to _ string (intval),同样适用于double、float等类型。字符串->Int: atoi (const char *)或stoi(const string*) (stoi增加了范围检查功能,所以不需要像atoi一样使用str.c_str进行转换)2。随机函数的生成Void srand(uns

    2023-07-26 08:48:01
    1056 0
  • easypoi导出word换行 easypoi导出数字类型

    如果遇到poi阅读,比如{name}无法整体识别,可以使用word的域操作。如果你不知道域的用法,你可以这样做。先写在文本文档里,比如{name},再***到word里。不要在word中一个一个地输入,否则poi可能会认不出您是一个整体XWPFDocument对象是apache提供的第三方jar,可以操作wor

    2023-07-25 10:28:01
    338 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信