问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中容器和集合是一个概念吗?

发布网友 发布时间:2022-04-22 00:45

我来回答

2个回答

热心网友 时间:2023-07-31 09:30

容器(Container)
Spring 提供容器功能,容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。
换个更直白点的说明方式:容器是一个Java 所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您作好。
常用容器:WebSphere,WebLogic,Resin,Tomcat

集合类存放于java.util包中。
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。
集合类型主要有3种:set(集)、list(列表)和map(映射)。

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

(2)列表
列表的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的集是不同的。
列表在数据结构中分别表现为:数组和向量、链表、堆栈、队列。
关于实现列表的集合类,是我们日常工作中经常用到的,将在后边的笔记详细介绍。

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

集合类简介
java.util*有13个类可用于管理集合对象,它们支持集、列表或映射等集合,以下是这些类的简单介绍

集:
HashSet: 使用HashMap的一个集的实现。虽然集定义成无序,但必须存在某种方法能相当高效地找到一个对象。使用一个HashMap对象实现集的存储和检索操作是在固定时间内实现的.
TreeSet: 在集中以升序对对象排序的集的实现。这意味着从一个TreeSet对象获得第一个迭代器将按升序提供对象。TreeSet类使用了一个TreeMap.
列表:
Vector: 实现一个类似数组一样的表,自动增加容量来容纳你所需的元素。使用下标存储和检索对象就象在一个标准的数组中一样。你也可以用一个迭代器从一个Vector中检索对象。Vector是唯一的同步容器类??当两个或多个线程同时访问时也是性能良好的。
Stack: 这个类从Vector派生而来,并且增加了方法实现栈??一种后进先出的存储结构。
LinkedList: 实现一个链表。由这个类定义的链表也可以像栈或队列一样被使用。
ArrayList: 实现一个数组,它的规模可变并且能像链表一样被访问。它提供的功能类似Vector类但不同步。

映射:
HashTable: 实现一个映象,所有的键必须非空。为了能高效的工作,定义键的类必须实现hashcode()方法和equal()方法。这个类是前面java实现的一个继承,并且通常能在实现映象的其他类中更好的使用。
HashMap: 实现一个映象,允许存储空对象,而且允许键是空(由于键必须是唯一的,当然只能有一个)。
WeakHashMap: 实现这样一个映象:通常如果一个键对一个对象而言不再被引用,键/对象对将被舍弃。这与HashMap形成对照,映象中的键维持键/对象对的生命周期,尽管使用映象的程序不再有对键的引用,并且因此不能检索对象。
TreeMap: 实现这样一个映象,对象是按键升序排列的。

Set和List都是由公共接口Collection扩展而来,所以它们都可以使用一个类型为Collection的变量来引用。这就意味着任何列表或集构成的集合都可以用这种方式引用,只有映射类除外(但也不是完全排除在外,因为可以从映射获得一个列表。)所以说,把一个列表或集传递给方法的标准途径是使用Collection类型的参数。

热心网友 时间:2023-07-31 09:31

java.awt下的容器类是用于GUI设计的, 而java集合类主要负责保存、盛装其他数据
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
世界上最大的昆虫昆虫 如何证明各条棱相等的正四面体与正四棱锥拼接是三棱柱(急急急) 我做天晚上在cf的时光机活动领了一把7天的烈焰毛瑟,可我今天打开个人仓... cf时光机活动网址(cf时光机介绍_cf时光机活动网址(cf时光机是什么 穿越火线:枪战王者 掌火时光机在哪? 猪为什么活不到老死呢 苹果5s又慢又卡怎么回事 拼多多平台介入退款诀窍有哪些 拼多多平台介入退款诀窍是什么_百度知 ... 电脑文件后缀有urlurl是什么文件 我有2个证券账号,可以两个同时申购一个新股么 植物神经紊乱中医调理的时候需要注意哪些问题呢? 橱柜拉篮怎么安装? mcafee webadvisor是什么软件,主要有什么用 拉篮怎么安装? 迈克菲网络顾问怎么卸载 McAfee WebAdvisor可以卸载吗 螺栓螺母为什么要做二硫化钼涂层处理 java 集合类的基本概念 迈克菲联网顾问可以卸载吗 拉篮价格一般多少?拉篮的安装尺寸详解 针灸能治好脑神经递质紊乱吗 竹笋怎么煮好吃 Java集合什么意思 植物神经紊乱在通过中医调理的时候需要注意什么问... java集合啥意思 中医如何治疗运动神经元? 鞭笋炒雪菜怎么烧 紧固件螺栓螺帽怎么做二硫化钼涂层处理?有知道可喷... 和平精英苹果手机和华为手机怎么不同步? 戏鲸动态怎么删除啊 McAfee AntiVirus和McAfee WebAdvisor可以同时存在... 帕金森的中医治疗方法? McAfee WebAdvisor怎么认可风险 植物神经紊乱通过中医调理的时候需要注意什么 问题... 不安腿综合症中医怎么治疗? JAVA 中集合和组合是一个意思么? McAfee WebAdvisor是什么软件 怎样手机截屏放在卓面 中医治疗帕金森靠的是什么? 华为手机如何把截屏放到桌面 女的穿的牛仔裤,是那种前后整体拉链样式的,感觉... 截屏oppo手机怎么把截屏键放在桌面上 跪求朋友!!!一牛仔裤的后裤袋都有拉链,凸显出... Java集合 这个“集合”概念体现在哪里的? 江苏慈安堂中医通过什么办法调理植物神经紊乱? barbelly和burberry有什么区别? 牛仔裤有拉链的是在那年生产的??? 民间借贷利息规定 丝围巾怎么围好看 运动神经元用中医如何治疗?