当前位置:首页 » 编程语言 » java容器详解

java容器详解

发布时间: 2022-04-25 06:38:22

1. java 中的容器怎么理解

容器就是一种数据结构,以一定的组织结构来存放数据,对于每种容器都有各自的特性,有的是删除、添加快,有的是查找快,看你具体用途来选择某种容器。容器的操作方法基本相同,一般就是增、删、查找等几种操作。建议多看看数据结构方面的知识,对java容器的理解就更加透彻了。

2. java容器有哪些

容器是一个Java所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您做好。下面来和小编一起详细了解一下吧。


Java容器是一个Java所编写的程序。

容器可以管理对象的生命周期、对象与对象之间的依赖关系。

您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。

Java容器类包含List、ArrayList、Vector及map、HashTable、HashMap、Hashset。

以上就是java容器是什么的详细内容,更多请关注php中文网其它相关文章!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

3. java的容器怎么理解

你指的是什么容器。是不是类似 beanMap . List ArrayList这种集合类容器。如果是这种的话,就是定义一个这种容器,然后可以往里变放数据。当想用这些数据的时候直接取beanMap集合就可以了。容器就是个大瓶子。往里放东西就行。

4. java 容器的归纳

容器是用来保存多个对象的东西.严格来说是保存对象的引用.因为对象实际的数据是放在另外的地方的.放在容器中的只是指向那块内存区域的一个标识.
JAVA中内置了数组.数组和其它容器的区别主要有三个:效率,类型,和存放基本类型的能力.JAVA中的数组是一种效率最高的存储和随机访问对象引用序列的方式.它就是一个简单的线性序列,所以访问是非常快.但它也损失了其他的特性.当创建一个数组时,它的长度就被固定了.通常是创建一个固定大小的数组,在空间不足时,再创建一个大的数组,然后把旧数组中的所有引用移到新数组中.这种机制被JAVA中的另一个容器:ArrayList采用.所以,ArrayList的效率要比数组低.JAVA中还有一些其他的容器:List,Set(每个对象只保存一份),Map(允许将一个对象和另一对象关联存储).它们都是针对Object来处理的.而Object是JAVA中所有类的基类,所以说这些容器可以存放所有JAVA类.注意:基本类型如:boolean char byte short long float double void..不继承Object,所以这些容器不能存放这些.如果要存进去必须用JAVA为这些类提供的 包装类它们对应的包装类是: Boolean Character Byte Short Integer Long Float Double Void

因为基本类型是不继承自Object的,所以强制转换也是不可能的.必须用包装类进行强制转换.比如说将一个String强制转换成int型,必须:Integer.praseInt("3");必须用包装类来.

经包装类包装后的基本类型就可以随便往容器里放了.

JAVA容器的缺点:
1)将对象保存到容器的时候它的类型信息就丢失了.因为容器是针对Object的.所以可以将不同类型的对象放入同一个容器中.而数组则不同,一个数组里只能存同一类型的对象.
2)在从容器中取出对象使用时必须进行类型转换.
当然,上面的问题可以通过泛型来解决.

容器的选择:
容器实际上只有三种:Map , List, Set;但每种接口都有不同的实现版本.它们的区别可以归纳为由什么在背后支持它们.也就是说,你使用的接口是由什么样的数据结构实现的.
List的选择:
比如:ArrayList和LinkedList都实现了List接口.因此无论选择哪一个,基本操作都一样.但ArrayList是由数组提供底层支持.而LinkedList是由双向链表实现的.所以,如果要经常向List里插入或删除数据,LinkedList会比较好.否则应该用速度更快的ArrayList.

Set的选择
HashSet总是比TreeSet 性能要好.而后者存在的理由就是它可以维持元素的排序状态.所以,如果需要一个排好序的Set时,才应该用TreeSet
Map选择:
同上,尽量选择HashMap,只要需要排好序的确Map时才用Treemap

5. java中什么是容器组件

JAVA容器库(container)包含两大组件:Collection和Map.
Collection是一组相互独立的对象的集合.Map是一组KEY-->VALUE对应的对象集合.
Collection中又分为两类:一类是List;另一类是Set.Set下还有SortedSet,而Map下有SortedMap.
其下有很多接口和方法,具体的用法请参考官方文档和有关教程,这个不难。
这些接口和方法是构成整个JAVA容器库的最顶层的元素,学习了这些我至少可以使用容器编写一般化的 的程序.这些方法的学习总体来说是比较简单的,但如果要深究其原理也是颇具挑战的,就单单说迭代器的实现,实现机理,也是值得探讨的。抛开这些不说,在类库的设计层面上所也值得我们去研究。

6. JAVA有几种容器

集合,有时也称容器,是一个将多个元素组合进单一单元的对象。
四个基本的核心集合接口:
Collection,集合层次结构的根;
Set,不包含重复元素的集合;
Lis,一个有次序的集合;
Map,一个将键映射到值的对象。
另外还有两个核心的集合接口,
SortedSet,
SortedMap,
它们是Set和Map的有序版本。

7. java编程题,这里的容器指的是什么

java编程中容器是一个Java 所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您作好。容器可以管理对象的生命周期、对象与对象之间的依赖关系,可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。
服务器是Javaweb程序运行的环境如:tomcat ,只有在服务器下的Javaweb程序才能正常启动并被外部访问

8. Java如何向容器中添加一组元素详解

在java.util包中的Arrays和Collections类中都有很多实用方法,可以在一个Collection中添加一组元素。Arrays.asList()方法接受一个数组或是一个用逗号分隔的元素列表(使用可变参数),并将其转换为一个List对象。Collections.addAll()方法接受一个Collection对象,以及一个数组或是一个用逗号分隔的元素列表,将元素添加到Collection中。

下面给你介绍一个示例:

代码示例:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 6, 7, 8, 9, 10,

-------------------我是分割线-------------------

16, 99, 18, 19, 20,

源码解析1

Collection的构造器可以接受另一个Collection,用它来将自身初始化,因此你可以使用Arrays.asList()来为这个构造器产生输入。但是,Collection.addAll()方法运行起来要快得多,而且构建一个不包含元素的Collection,然后调用Collections.addAll()这种方式很方便,因此它是首选方式。

Collection.addAll()成员方法只能接受另一个Collection对象作为参数,因此它不如Arrays.asList()或Collections.addAll()灵活,这两个方法使用的都是可变参数列表。

你也可以直接使用Arrays.asList()的输出,将其当做List,但是在这种情况下,其底层表示的是数组,因此不能调整尺寸。如果你试图用add()或delete()方法在这种列表中添加或删除元素,就有可能会引发去改变数组尺寸的尝试,因此你将在运行时获得“java.lang.UnsupportedOperationException(不支持的操作)”错误。

Arrays.asList()方法的限制是它对所产生的List的类型做出了最理想的假设,而并没有注意你对它会赋予什么样的类型。有时这就会引发问题。

9. java的容器有哪些

JAVA的容器包括如下:
List,Map,Set ,Collection ,List ,LinkedList ,ArrayList ,Vector ,Stack ,Set
Map ,Hashtable ,HashMap ,WeakHashMap
数据容器主要分为了两类:
Collection: 存放独立元素的序列。
Map:存放key-value型的元素对。(这对于需要利用key查找value的程序十分的重要!)
从类体系图中可以看出,Collection定义了Collection类型数据的最基本、最共性的功能接口,而List对该接口进行了拓展。
其中各个类的适用场景有很大的差别,在使用时,应该根据需要灵活的进行选择。此处介绍最为常用的四个容器:
LinkedList :其数据结构采用的是链表,此种结构的优势是删除和添加的效率很高,但随机访问元素时效率较ArrayList类低。
ArrayList:其数据结构采用的是线性表,此种结构的优势是访问和查询十分方便,但添加和删除的时候效率很低。
HashSet: Set类不允许其中存在重复的元素(集),无法添加一个重复的元素(Set中已经存在)。HashSet利用Hash函数进行了查询效率上的优化,其contain()方法经常被使用,以用于判断相关元素是否已经被添加过。
HashMap: 提供了key-value的键值对数据存储机制,可以十分方便的通过键值查找相应的元素,而且通过Hash散列机制,查找十分的方便。

热点内容
安卓如何看运行版本号 发布:2025-07-16 08:57:03 浏览:71
虚拟网服务器ip地址 发布:2025-07-16 08:56:02 浏览:50
棉密码怎么样多少钱买的 发布:2025-07-16 08:43:54 浏览:799
java日期之间的天数 发布:2025-07-16 08:21:38 浏览:961
我的世界挖钻石赚钱的服务器 发布:2025-07-16 08:15:18 浏览:723
python进程获取 发布:2025-07-16 08:15:10 浏览:407
安卓系统优盘打不开怎么回事 发布:2025-07-16 08:14:34 浏览:763
猫耳fm上传 发布:2025-07-16 08:13:42 浏览:471
php培训学费多少 发布:2025-07-16 07:56:15 浏览:522
输入url或服务器地址 发布:2025-07-16 07:47:46 浏览:296