- 浏览: 1357205 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (453)
- Struts2 (4)
- Struts1 (16)
- Spring (9)
- Hibernate (5)
- AJAX (16)
- MS Server (9)
- Oracle (35)
- 测试技术 (5)
- 其他 (37)
- JSF (1)
- EJB (5)
- ASP.NET (9)
- iBATIS (5)
- Struts Spring Hibernate (2)
- HTML (12)
- Eclipse使用 (5)
- 设计模式 (5)
- JSP (32)
- 正则表达式 (2)
- 服务器 (12)
- Java基础 (48)
- MySQL (4)
- 面试 (22)
- UML (1)
- 数据结构 (3)
- Ant (2)
- 规范 (4)
- JavaScript (29)
- 软件使用及技巧 (25)
- PHP (1)
- DWR (3)
- FreeMarker (1)
- ExtJs (17)
- JFreeChart (9)
- Reports (2)
- JavaException (1)
- Java Mail (1)
- Flex (9)
- 异常 (12)
- Log4j (2)
- WebService (1)
- jQuery (1)
- Sybase (2)
- myeclipse_plugin (2)
- Linux (5)
- jbpm (2)
- SCM (1)
- mongoDB (1)
最新评论
-
lihua2008love:
<typeAlias alias="User& ...
IBATIS简单操作 -
lihua2008love:
...
关于项目框架设计的一点学习 -
c_jinglin:
我使用<OBJECT CLASSID="cls ...
这就是个静态页面通过js控制mscomm对某com设备进行访问的例子. -
zlbjava:
赞,用了还不错
java获取请求的ip地址,并解析ip所属地区 -
完美天龙:
cs842813290 写道楼主,我明白的地方:在链表已有N个 ...
JAVA实现双向链表
List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别?
这是一个面试经常问到的问题,我就被问到过,原来还真的没有考虑过这样的问题,只是去比较该用Vector还是ArrayList,该用 Hashtable还是该用HashMap了,我喜欢用示例测试,并在其中加上附注,这样更好理解
这是一个面试经常问到的问题,我就被问到过,原来还真的没有考虑过这样的问题,只是去比较该用Vector还是ArrayList,该用 Hashtable还是该用HashMap了,我喜欢用示例测试,并在其中加上附注,这样更好理解
import java.util.*; /** *List和Hashtable都是可以存储数据的,可为什么有时选择List,有时需要Hashtable,这两个有什么区别? *下面的例子可以回答这个问题 *@authorhttp://blog.csdn.net/fenglibing * */ publicclass ListAndHashtable { //将构造器私有化,就不能对别的对象创建新对象了。 private ListAndHashtable() { testList(); testHashtable(); } /** *@paramargs */ publicstaticvoid main(String[] args) { // TODO Auto-generated method stub new ListAndHashtable();//但是这里可以正常使用. } void testList() { List list=new ArrayList(); list.add("OK1"); list.add("OK1");//测试是否允许重复值 list.add(0,"OK2"); list.add(0,"OK2");//测试是否在指定插入位置的时候,把前面的值替换掉 list.add("OK3"); for(int i=0;i<list.size();i++) { //List的取值方式,是以下标而取,不能够按值取对象 System.out.print(" "+list.get(i)); } //上面输出结果为:OK2 OK2 OK1 OK1 OK3,说明允许重复值, //就算指定下标也不会把原来的值取代,会自动后移。 System.out.println(); Iterator it=list.iterator(); while(it.hasNext()) { System.out.print(" "+it.next()); } //上面输出结果为:OK2 OK2 OK1 OK1 OK3 System.out.println(); Iterator it1=list.listIterator(); while(it1.hasNext()) { System.out.print(" "+it1.next()); } //上面输出结果为:OK2 OK2 OK1 OK1 OK3 } void testHashtable() { Hashtable table=new Hashtable(); table.put("a", "You are very good!"); table.put("b", "You not are very good!"); table.put("c", "You are very bad!"); table.put("a", "You are very good! Last"); System.out.print(" "+table.get("a")); //下面输出结果是:You are very good! Last,说明一个键只能够有一值,后面的值会取代原来的值 //取值方式,只能够通过按键取值,不能够通过下标取值。 System.out.println(); System.out.println(table.toString()); //输出结果为:{b=You not are very good!, a=You are very good! Last, c=You are very bad!} //说明将table的键值可以转换成为字符串输出 Enumeration e=table.elements();//枚举,可以依次将值列出来 while(e.hasMoreElements()) { System.out.print(e.nextElement()); } //输出结果为:You not are very good!You are very good! LastYou are very bad! } } class test { private test() { //因为ListAndHashtable的构造器为private,所以这里不能够创建对象,会报错 ListAndHashtable l=new ListAndHashtable(); } }
发表评论
-
项目中用到的数字证书的创建,签名实现
2012-07-15 20:17 2244首先 需要下载jar包 bcprov-jdk15-145.ja ... -
DecimalFormat的用法介绍
2012-02-06 14:16 2500import java.text.*; import ... -
tomcat,jdk,maven环境变量配置(备忘)
2011-12-25 10:24 1435环境变量: CATALINA_HOME D:\P ... -
java获得指定时间几天前或几天后的日期
2010-01-14 09:28 8877/** * 得到几天前的时间 * * ... -
动态读取配置文件
2009-08-04 11:30 2513import java.io.File; import ja ... -
JAVA对数字证书的常用操作
2009-07-12 18:42 1456一需要包含的包 import java.security.* ... -
签字证书例子
2009-07-12 18:31 1642import java.io.FileInputStr ... -
list,set,map,数组间的相互转换
2009-07-01 16:10 29291.list转set Set set = new HashSe ... -
动态运行Java代码
2009-07-01 14:08 1441有些情况下,我们不得不动态运行Java代码,以便提供更加灵活的 ... -
防止java反编译的一些常用方法
2009-02-12 14:33 21211.隔离Java程序 最 ... -
操作数组
2009-01-20 12:48 1273List list1 = new ArrayList() ... -
java写入文件时庄和薛字的问题
2008-12-26 10:47 1509今天碰到一个很有意思的问题,当写入文件是庄或薛的时候,就会出现 ... -
Hessian的学习笔记
2008-12-01 12:20 12541- 整个jar很小,200多K,3.1版本的,当然,我下载的 ... -
编写一个Java程序,对指定文本进行数字签名(文本随意)
2008-10-08 14:12 2883一:需要包含的包 import java.security. ... -
java的property配置文件的用法
2008-07-29 16:26 1772package configuration; ... -
统一异常处理
2008-07-16 16:47 1986package com.bjsxt.oa.manager; ... -
Java反射机制之代理模式
2008-07-02 23:12 1579代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问 ... -
java.lang.reflect.Array的应用
2008-07-02 23:11 1903java.lang.Array 类提供了动态创建和访问数组元 ... -
Java语言的反射机制
2008-07-02 23:10 1694在JAVA运行环境中,对 ... -
@Documented Annotation的使用
2008-07-02 23:09 2487@Documented Annotation的使用: @Do ...
相关推荐
在Java编程语言中,集合框架是处理对象数组的重要工具,其中`List`、`ArrayList`、`Vector`、`HashTable`和`HashMap`是五个关键的接口和类,它们各有不同的特性和用途。以下是这些概念的详细解释: 1. **List接口**...
由于 `Hashtable` 不支持自然排序,你需要先将数据转换为可以排序的数据结构,如 `Dictionary, TValue>`,然后再进行排序。 9. **复制 List<Hashtable>**: ```csharp List<Hashtable> copyOfHashList = new List...
注意,键必须是唯一的,且不可为null,而值可以是任意类型。 ### 4. List List是泛型集合,它是System.Collections.Generic命名空间下的一个类。与ArrayList相比,List更加安全,因为它在编译时就知道了元素的类型...
* HashTable的key和value都不能为null,而HashMap的key和value都可以为null * HashTable的迭代器是fail-fast的,而HashMap的迭代器是fail-safe的 在Java中,Collection接口的子接口包括Set和List,分别代表无序集合...
- HashMap 和 Hashtable 都实现了 Map 接口,HashMap 更快但不是线程安全的,而 Hashtable 是线程安全但较慢。WeakHashMap 则使用弱引用作为键,有助于防止内存泄漏。 - 在选择使用哪种数据结构时,需要考虑性能需求...
C#数据结构之Array、ArrayList、Hashtable、Dictionary ...Array、ArrayList、Hashtable和Dictionary都是C#中的常用数据结构,每种数据结构都有其优缺点,选择合适的数据结构可以提高程序的性能和可读性。
在Java编程语言中,`Hashtable` 和 `HashMap` 都是用来存储键值对的数据结构。这两种数据结构虽然相似,但是在实现细节上存在显著差异。 1. **Hashtable**:作为 `Dictionary` 类的子类,`Hashtable` 是 Java 最早...
List、ArrayList、Vector及map、HashTable、HashMap是Java容器类中的几个重要的接口和实现类,了解它们之间的区别是非常重要的。 首先,我们来看List和ArrayList的区别。List是一个接口,而ArrayList是一个实现了...
List、ArrayList、Vector及map、HashTable是Java中常用的容器类,它们都继承自Collection接口,并提供了不同的实现方式和特点。在实际开发中,选择合适的容器类是非常重要的。 Collection接口是Java中最基本的集合...
在需要根据特定键访问数据的情况下,Dictionary是一个理想的选择,比如在存储购物车信息时,可以使用Dictionary, int>存储商品名和数量,无需类型转换。Dictionary的遍历顺序与添加顺序一致,不同于Hashtable。 5. ...
在IT行业中,哈希表(HashTable)是一种常用的数据结构,它提供了一种高效的方式来存储和检索数据。在.NET框架中,`Hashtable`是System.Collections命名空间下的一个类,它实现了键值对(Key-Value Pair)存储,允许...
如果需要键值对存储,可以选择Map,如HashMap或HashTable;在多线程环境下,需考虑同步性能,可以选择Vector或HashTable;对于内存效率和弱引用的需求,WeakHashMap是一个不错的选择。在实际应用中,通常推荐使用非...
List的类型参数T确保了所有元素都为同一类型,从而提供了更安全和高效的数据存储。 HashTable是一种基于键值对的数据结构,提供快速的查找功能。由于不允许重复键,它的容量通常是质数,以优化哈希函数。然而,...
- 添加了一些键值对(这里键和值都是空字符串,实际应用中应该替换为实际的数据)。 - 提取了所有的键并存入 `ArrayList`。 - 对键列表进行了排序。 - 遍历排序后的键列表,并打印出对应的键值对。 2. **按值...
哈希表(HashTable)在C#编程语言中是一种常用的数据结构,它允许高效地存储和检索键值对数据。在.NET Framework中,`System.Collections`命名空间提供了`HashTable`类,用于存储和管理这些键值对。下面我们将深入探讨...
`HashTable`是古老的键值对存储结构,线程安全但效率较低,已被`HashMap`所取代,`HashMap`是非线程安全但性能更高的选择。 集合框架的使用极大地提高了代码的可读性和复用性,同时通过接口的定义,可以灵活地更换...
通过以上介绍和示例代码,我们可以看到,在.NET Framework中,虽然哈希表默认并不支持排序,但通过一些技巧,如使用`ArrayList`配合哈希表,我们可以方便地实现自定义排序的需求。这种方式不仅能够保持哈希表原有的...
本篇文章将深入解析几种常见的集合类型:ArrayList、Queue、Hashtable、SortedList以及Stack,通过具体的代码示例和理论解释,帮助读者理解每种集合的特点与应用场景。 ### ArrayList `ArrayList`是一个动态数组,...
然而,需要注意的是,由于`Hashtable`是非泛型的,它使用`object`作为键和值的数据类型,这可能会导致类型转换的开销。在.NET Framework 2.0及以后的版本中,推荐使用泛型的`Dictionary, TValue>`,它提供了更好的...
但需要注意的是,哈希表不支持排序,如果需要按特定顺序访问数据,可能需要结合其他数据结构如`SortedList`或`List<T>`。 综上所述,了解并熟练运用VB.NET中的`Hashtable`对于开发高效的数据库应用程序至关重要。...