List、Set、Map下各类型的对比

1.List和Set:
List: 元素有放入顺序,元素可重复,查找效率高,插入删除效率低;
Set: 元素无放入顺序,元素不可重复,(元素虽然无顺序,但元素在Set中的位置是由该元素的HashCode决定的,其位置其实是固定的),检索效率低,删除和插入效率高。
2.Arraylist、LinkedList和Vector:
Arraylist查询操作效率比LinkedList高;
插入和删除操作效率Arraylist比LinkedList低;
Vector是线程安全的(线程同步)。
3.HashSet和Treeset:
Treeset不允许放入null值;
HashSet不允许出现重复元素,允许包含null值,但只能放入一个null;
快速查找通常都应该使用HashSet;排序时,使用TreeSet。
4.HashMap、HashTable和TreeMap:
HashTable是线程同步的;
HashMap是非线程同步的,效率上比HashTable高,适用于插入、删除和定位元素;
HashMap允许空键值,而HashTable不允许;
TreeMap适用于按自然顺序或自定义顺序遍历键(key)。

  

时间: 2024-10-29 19:08:14

List、Set、Map下各类型的对比的相关文章

@清晰掉 各种类型32位与64位下各类型长度对比

64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂):可以访问大型数据库.本文介绍的是64位下C语言开发程序注意事项. 1. 32 位和 64 位C数据类型 32和64位C语言内置数据类型,如下表所示: 上表中第一行的大写字母和数字含义如下所示:I表示:int类型L表示:long类型P表示:pointer指针类型32表示:32位系统64表示64位系统如:LP64表示,在64位系统下的long类型和pointer类型长度为64位.64位Li

【WebService】CXF处理javaBean等复合类型以及Map等复杂类型的数据

WebService系列文章: [WebService]带你走进webservice的世界 [WebService]自定义WebService服务及其调用 [WebService]wsdl配置详解以及使用注解修改wsdl配置 在实际中除了传入一些基本的参数以外,还需要传入一些类似于javaBean等复合类型,或者Map等复杂类型的数据,这一篇博文主要来写两个demo,模拟一下CXF处理这类数据的过程. 1. CXF处理javaBean等复合类型的数据 客户端提交一个数据过去,要检查权限,比如是管

上一条下一条方案对比

今天CPU狂飙了一把,分析SQL后揪出真凶: 上一条下一条方案对比,布布扣,bubuko.com

Linux复制指定目录及子目录下特定类型的文件

主要参考这个: http://www.2cto.com/os/201208/144996.html 拷贝一些内容就是: 首先建立一个用于测试的目录 可见,目录中主要包含用于测试的*.txt文件和用于充当炮灰的*.tes文件 目标是保持当前的目录结构,只把txt文件复制出来 方法一:当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成 Step1 使用命令 cp -r test/ test2 将测试目录test下所有内容完全复制到test2. Step2 组合使用find及xa

VS2012在win7 64位机中x86和x64下基本类型的占用空间大小(转)

VS2012在win7 64位机中x86和x64下基本类型的占用空间大小 #include "stdafx.h" #include <windows.h> int _tmain(int argc, _TCHAR* argv[]) { int i = 0; i = sizeof(int); // x86:4 x64:4 i = sizeof(long); // x86:4 x64:4 i = sizeof(void*); // x86:4 x64:8 i = sizeof(s

Linux 程序设计学习笔记----Linux下文件类型和属性管理

转载请注明出处:http://blog.csdn.net/suool/article/details/38318225 部分内容整理自网络,在此感谢各位大神. Linux文件类型和权限 数据表示 文件属性存储结构体Inode的成员变量i_mode存储着该文件的文件类型和权限信息.该变量为short int类型. 这个16位变量的各个位功能划分为: 第0-8位为权限位,为别对应拥有者(user),同组其他用户(group)和其他用户(other)的读R写W和执行X权限. 第9-11位是权限修饰位,

在命名空间下定义类型

如果定义的类型要用于其他.NET 语言,应该把它们放在命名空间下,而不是模块中.这是因为模块在被编译成 C# 或其他.NET 语言时,被处理成类,在模块中定义的任何类型都成为这个类型内部的类.虽然对于 C# 来说,这并不是什么大问题,但是,如果用命名空间代替模块,C# 客户端代码看起来会更清晰.这是因为在 C# 中,只用using 语句导入(open)命名空间,而如果是在模块中的类型,在 C# 中使用时,就必须把模块名作为前缀. 让我们看一下这样的例子.下面的例子定义了类TheClass,它是在

.Net平台下实例类型无法转换成接口类型?

首先这种情况出现在应用程序启动前的方法里面. 本想通过发射来实现一些功能.谁知道被这个坑了. 碰到这种问题.已经相当无语了.同时也不知道该如何解决.望有能之士帮忙解答 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

在HDFS上删除某个路径下特定类型的文件,比如class类型文件,比如txt类型文件

1.先获取连接: public class Utils { public static FileSystem HDFS() throws Exception{ Configuration conf = new Configuration(); conf.set("fs.defaultFS","hdfs://potter2:9000"); System.setProperty("HADOOP_USER_NAME", "potter&quo