List和ArrayList, Map和HashMap的区别
来源:互联网 发布:网络对生活的利与弊 编辑:程序博客网 时间:2024/06/15 21:51
一个 List<Map>变量的内部数据结构
[{F_CITY_NAME=徐州, CNT=1141}, {F_CITY_NAME=镇江, CNT=577}]
一个Map变量的内部数据结构
{泰州非边界=7, 宿迁无=26, 无锡省边界=6, 常州非边界=10, 淮安地市边界=70, 南京null=21}
在jsp页面中不能通过${list.size}取列表长度,而是
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
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)来定制你的自定义类.
- List和ArrayList, Map和HashMap的区别
- List和ArrayList, Map和HashMap的区别
- List和ArrayList, Map和HashMap的区别
- List、Map、Set的理解(LinkedList和ArrayList、Vector和ArrayList、HashMap和HashTable和HashSet区别与使用)
- List、Map、Set的理解(LinkedList和ArrayList、Vector和ArrayList、HashMap和HashTable和HashSet区别与使用)
- List,Map,Set以及常用的ArrayList,LinkedList,HashMap的区别和用法
- Set,List,Map,Vector,ArrayList的区别和用法
- List和ArrayList和Vector和HashTable和HashMap区别
- Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别
- List、ArrayList、Vector及map、HashTable、HashMap分别的区别
- List,Map,ArrayList,LinkedList与HashMap的区别
- Collection,Map,HashMap,hashTable,TreeMap,List,Vector,ArrayList的区别
- List、ArrayList、Vector及map、HashTable、HashMap的区别
- Java 容器 List Set Map ArrayList HashMap 的区别
- HashTable,HashMap,LIST,SET,MAP的区别和联系
- HashTable,HashMap,LIST,SET,MAP的区别和联系
- HashTable,HashMap,LIST,SET,MAP的区别和联系
- Java容器类Collection、List、ArrayList、Vector及map、HashTable、HashMap区别 Collection是List和Set两个接口的基接口
- 第3.1.5节 防止程序无响应的ANR
- c++ The compile error : unresolved overloaded funciton type
- hdu2158
- WSO2-Stratos2.0的Cartridges
- org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
- List和ArrayList, Map和HashMap的区别
- what is a process?
- 快速排序算法 C++代码
- Android 各种工具类 图片下载工具类:BitmapUtil
- uva 10810
- HDU1075 What Are You Talking About 解题报告--字典树
- 据说作为一个程序猿都要有自己的博客
- java 中的设计模式
- HDU 2222 Keywords Search 【AC自动机模板】