集合类与容器

news/2024/7/5 10:08:54

1.集合类是放在java.util.*;这个包里。集合类存放的都是对象的引用,而非对象本身,为了说起来方便些,我们称集合中的对象就是指集合中对象的引用(reference)。引用的概念大家不会忘了吧,在前边我们讲数据类型时讲的。 集合类型主要有3种:set(集)、list(列表)、map(映射)和Queue(队列)。

  (1) Set集(set)是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像  往口袋里放东西。对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象。我们  知道数学上的集合也是Set这个,集合里面一定是没有重复的元素的。

  (2)List列表(List)的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当  然,它与根本没有顺序的Set是不同的。它是链表嘛,一条链肯定有顺序这个顺序就不一定了。

  (3)Map   映射(Map),这个在java里不是地图的意思,其实地图也是映射哈。它里面的东西是键-  值对(key-value)出现的,键值对是什么呢?举个例子,比如我们查字典,用部首查字法。目录那个字就  是键,这个字的解释就是值。键和值成对出现。这样说可以理解吧。这也是很常用的数据结构哦。

  (4)Queue 在jdk5.0以前,通常的实现方式是使用java.util.List集合来模仿Queue。Queue的概念通过  把对象添加(称为enqueuing的操作)到List的尾部(即Queue的后部)并通过从List的头部(即Queue的  前部)提取对象而从 List中移除(称为dequeuing的操作)来模拟。你需要执行先进先出的动作时可以直接  使用Queue接口就可以了。 这4个东西,有时候功能还不太完善,需要有些子类继承它的特性。Set的子接  口有TreeSet,SortedSet,List的有ArrayList等,Map里有HashMap,HashTable等,Queue里面有    BlockingQueue等。

2.容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。容器是一个Java 所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您作好。Java容器类包含List、ArrayList、Vector及map、HashTable、HashMap
  ArrayList和HashMap是异步的,Vector和HashTable是同步的,所以Vector和HashTable是线程安全的,而 ArrayList和HashMap并不是线程安全的。因为同步需要花费机器时间,所以Vector和HashTable的执行效率要低于 ArrayList和HashMap。

 

转载于:https://www.cnblogs.com/sjxbg/p/5509397.html


http://www.niftyadmin.cn/n/3376023.html

相关文章

Skyline中使用AxTE3DWindowEx打开新的一个球体

在winform窗体中拖入AxTE3DWindowEx控件。 using system; using system.Collections.Generic; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using TerraExplorerX;namespace golbeEx{public partical class …

Linux下单台Redis集群搭建

一、本文目标 要在单台机器上搭建Redis集群,方式是通过不同的TCP端口启动多个实例,然后组成集群,同时记录在搭建过程中踩过的坑。 二、安装准备 centos版本:6.7 redis版本:3.2.3 安装方式:源码安装 服务器&…

iOS基于MVC的项目重构总结

关于MVC的争论 关于MVC的争论已经有很多,对此我的观点是:对于iOS开发中的绝大部分场景来说,MVC本身是没有问题的,你认为的MVC的问题,一定是你自己理解的问题(资深架构师请自动忽略本文). 行文过程中查阅了互联网上的大量文档,其中水平良莠不齐(最常见的就是MVC改个名就当MVVM的…

日常菜谱-1

菜单:小炒肉、可乐鸡翅、红烧豆腐、炒青菜、番茄蛋汤。详情:1、猪肉、红辣椒、绿辣椒、生姜、料酒。2、鸡中翅、可口可乐、红辣椒、八角、大蒜、香葱。3、嫩豆腐、酱油、葱。4、小青菜、猪油渣(肥肉)、大蒜、红辣椒。5、番茄、鸡蛋…

acpi参考网站

1、acpi官网: http://www.acpi.info/ 转载于:https://www.cnblogs.com/dirt2/p/5964191.html

Ansible安装配置Nginx

一、思路 现在一台机器上编译安装好nginx、打包,然后在用ansible去下发 cd /etc/ansible 进入ansible配置文件目录 mkdir roles/{common,install}/{handlers,files,meta,tasks,templates,vars} –pv 目录说明: roles目录下面有两个角色,commo…

WPF中XAML转义字符

字符 转义字符 备注 & (ampersand) &amp; 这个没什么特别的&#xff0c;几乎所有的地方都需要使用转义字符 > (greater-than character) > 在属性(Attribute values)中必须进行转义&#xff0c;在内容(Content)中 如果没有<在>符号的前面&#xff…

PHP文件格式数组

一个文件格式对应的数组 $mime_types array( gif > image/gif, jpg > image/jpeg, jpeg > image/jpeg, jpe > image/jpeg, bmp > image/bmp, png > image/png, tif > image/tiff, tiff > image/tiff, pict > image/x-pict, pic > image/x-pict,…