arraylist和hashmap的区别,hashmap和sparsearray

http://www.itjxue.com  2023-01-15 21:37  来源:未知  点击次数: 

List和ArrayList,Map和HashMap的区别

一个 ListMap变量的内部数据结构

[{F_CITY_NAME=徐州, CNT=1141}, {F_CITY_NAME=镇江, CNT=577}]

一个Map变量的内部数据结构

{泰州非边界=7, 宿迁无=26, 无锡省边界=6, 常州非边界=10, 淮安地市边界=70, 南京null=21}

在jsp页面中不能通过${list.size}取列表长度,而是

%@ taglib uri="" prefix="c"%

%@ taglib prefix="fn" uri=""%

list的长度是:${fn:length(list)}

List是接口,List特性就是有序,会确保以一定的顺序保存元素.

ArrayList是它的实现类,是一个用数组实现的List.

Map是接口,Map特性就是根据一个对象查找对象.

HashMap是它的实现类,HashMap用hash表实现的Map,就是利用对象的hashcode(hashcode()是Object的方法)进行快速散列查找.(关于散列查找,可以参看数据结构)

一般情况下,如果没有必要,推荐代码只同List,Map接口打交道.

比如:List list = new ArrayList();

这样做的原因是list就相当于是一个泛型的实现,如果想改变list的类型,只需要:

List list = new LinkedList();//LinkedList也是List的实现类,也是ArrayList的兄弟类

这样,就不需要修改其它代码,这就是接口编程的优雅之处.

另外的例子就是,在类的方法中,如下声明:

private void doMyAction(List list){}

这样这个方法能处理所有实现了List接口的类,一定程度上实现了泛型函数.

如果开发的时候觉得ArrayList,HashMap的性能不能满足你的需要,可以通过实现List,Map(或者Collection)来定制你的自定义类.

hashMap,Arraylist和set的区别

1、List,Set都是继承自Collection接口

2、List特点:元素有放入顺序,元素可重复

,Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)

3、List接口有三个实现类:LinkedList,ArrayList,Vector

,Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet

arraylist和hashmap的区别

首先就内部的元素而言,ArrayList储存的是单个对象,即 ArrayList al = new ArrayList(); 而HashMap储存的是一组一组的key和value,像: HashMap hm = newHashMap(); 这样。 另一个,就内部结构而言,ArrayList是有序的,而HashMap无序。

ArrayList与HashMap的用法

ArrayList跟HashMap是不同的集合

ArrayList是列表,集合中的对象是有序的.

HashMap是个映射表,集合中的对象由键值跟存放的对象组成.

HashMap的put是向映射表中添加数据,putAll是将一个映射表全部添加到当前映射表.

比如一个队伍你可用ArrayList,其中存放每个人,你可以通过排的位置找人,踢人.

一个价表你就需要用HashMap,键值是物器名,值是物器价格.

下面是个简单的例子:

HashMap jiageBiao = new HashMap();

jiageBiao.put("鞋子", new Integer(20));

jiageBiao.put("衣服", new Integer(120));

HashMap jiageBiao2 = new HashMap();

jiageBiao2.put("裤子", new Integer(130));

jiageBiao2.putAll(jiageBiao);//把jiageBiao中的数据都添加到JiageBiao2上

Integer xieziJiage = (Integer)jiageBiao.get("鞋子");

(责任编辑:IT教学网)

更多

推荐安全产品文章