- 浏览: 209761 次
- 性别:
- 来自: 厦门
-
文章分类
- 全部博客 (100)
- java设计模式学习 (1)
- javascript (2)
- sqlserver (3)
- java基础 (18)
- spring (8)
- webwork (3)
- itext (4)
- xstream (1)
- freemarker (2)
- jsp (6)
- hibernate (7)
- jquery (1)
- json (1)
- poi (2)
- iprocess (1)
- bw (1)
- bpm (0)
- java2word (0)
- ireport (1)
- Struts2.0 (13)
- webservice (6)
- j2ee基础 (7)
- jms (3)
- protocol buffer (3)
- jfreechart (1)
- spring mvc (0)
- http编程机制探析 (1)
- pb (2)
- oracle (0)
- sso (0)
- mybatis (0)
- ssl与ca认证 (0)
- cas (1)
最新评论
-
mayucai:
这个博客写的我是真服,写了一大堆,结果最后来一句这是错的。
poi获取excel和word总页数 -
iris_1992:
2005年以前,国外开原报表完全碾压国产软件,但是现在国内软件 ...
ireport与jasperreports开发总结 -
高攀sky:
...
Servlet中的八大Listener -
rmn190:
多谢, 试了N多个后, 终于参考您的内容, 设置出来了。老天开 ...
ireport与jasperreports开发总结 -
辣油_:
System.out.println("草 ...
Spring-JNDI配置
1.Collection接口与Map的总体框架图
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
由上图可以看出:List和Set都源自Collection,而Map自成体系;
2.HashMap,ArrayList与HashTable,Vector的区别联系
HashMap,ArrayList是异步执行的这样有助于提高工作效率,但并不是线程安全的.并且HashMap允许键值对的值为null;
HashTable和Vector是同步执行的,但是线程安全,这样的效率不如HashMap和ArrayList
3.List集合性能比较:
ArrayList是首选,在多用于查询使用时,ArrayList的效率更高;但在频繁进行删除,插入操作的时候应该用LinkedList,比如在进行堆栈和队列的操作时,就应该用LinkedList执行,此时的执行效率比JAVA自带的stack要高
4.Map集合性能比较:
HashMap是首选,但是在整个Map类会需要更多的内存空间,以为有键值对的存在.HashMap用到了哈希函数,所以其key必须是唯一的,TreeMap是用红黑树进行实现的;Map还可用containKey()检查是否含量有某个key/value键值对
5.List集合的输出
在Java里不建议循环执行Object obj =(Object)list.get(i); 这样的效率非常低
建议使用Iterator迭代器的形式
Iterator ite = list.iterator();
while(ite.hasnext())
{
Object obj = ite.next();
}
6.Collection与Collections的区别
Collection是集合的接口类,而Collections是一个帮助类,提供了一些帮助函数,如搜索,反转等等
7.Vector向量:与ArrayList相似,多用于多线程,但是线程同步,用Iterator迭代输出时输捕获修改更新的异常
向量的功能:
1.能存储任意对象
2.不能存储基本类型的数据,如39,除非将这些数据包裹在包裹类中
3.其容量可以按需求自动扩充
4.若果不用扩充容量,增加元素方法的效率较高
方式:
Vector myVector=new Vector() //初始容量为10
Vector myVector=new Vector(int cap) // 初始容量为cap
Vector myVector=new Vector(Collection col) //使用集合col的元素初始化,若果col为数组,需要先将数组转换成为List对象
例:Vector myVector=new Vector(Arrays.asList(col));
void add(Object obj) //将给定的参数对象加入到Vector的原有元素的最后
boolean addAll(Colletion col) //将集合类对象中的所有元素加入到此方法的接收者对象中,如果接收者的结果有变化,则返回true
int size() //返回元素的个数
boolean isEmpty() //判断Vector是否为空
Object get(int pos) //返回指定位置的元素
void set(int pos,Object obj) //用obj替换Vector中位置为pos的对象
boolean remove(Object obj) //删除第一次找到的obj对象,返回true.找不到则返回false
Objectremove(int pos) //去除给定位置的元素,并返回被去除的对象
boolean removeAll(Collection col) //删除Vector中所有在col出现的对象,如果接收者的结果有变化,则返回true
void clear() //删除vector的所有元素
boolean contain(Object obj) //判断Vector是否包含obj
boolean containAll(Collection col) //判断Vector是否包含col中的所有元素
int indexOf(Object obj) //返回obj在Vector第一次出现的位置,如果找不到则返回-1
Enumeration elements() //返回Vector中所有元素的Enumeration对象,注意此方法不能用于ArrayList
Iterator iterator() //返回Vector中所有元素的Iterator对象
特别注意:Object get(int pos) //读取位置为pos的元素,因其返回的是Object对象,所以需要对其进行塑性(显式转换)
例:
for(int i=0;i<v.size();i++)
Custmer c=(Custmer)v.get(i); //每次从v读出的对象都需要进行显式转换才可以正确使用
8.Vector与ArrayList比较:
a:Vectors是可同步化的,Vector的内容的方法都是线程安全 的;
b:Vector在默认情况下是产生一个双倍大小,而ArrayList增加50%的大小;
c:Vector确实有一点点优势,因为你可以指定增加值(译者按,如果没有猜错的话,作者说的方法应该是 setSize(int newSize) Sets the size of this vector.)。
发表评论
-
线程池的原理及实现
2014-04-16 11:21 5841、线程池简介: 多线程技术主要解决处理器单元内多个线 ... -
java线程安全总结
2014-02-27 16:56 605关于java线程安全,网上有很多资料,我只想从自己的角度总结对 ... -
Java内存溢出的详细解决方案
2013-03-26 10:50 0一、内存溢出类型 1、j ... -
内存分区
2013-03-26 10:12 0Java代码 内存可分为3个区:堆(heap)、栈(sta ... -
持续集成工具hudson(Continuous Integration )CI
2013-03-20 13:19 983一.什么是持续集成 持 ... -
收录各种猥琐的Java笔试/面试题目
2013-03-19 15:23 859本文收录各种猥琐的Java笔试/面试题,一些比较容易忘记的,不 ... -
what is difference between hashmap and hashtable
2013-02-28 14:31 01.Hashmap is unSynchronized and ... -
java引用类型和值类型
2012-07-27 13:58 974Java传值还是传引用终极解释,还是看老外解释的清楚啊。 ... -
在Java中gsm modem发短信
2011-11-13 17:21 0JAVA发送SMS短信有两种方法:一是通过运营商的网关;二是通 ... -
java枚举类型
2011-10-27 11:00 1012枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字e ... -
JDK1.5新特性介绍
2011-10-27 10:51 736“JDK1.5”(开发代号猛 ... -
java中的enum类型与单态设计模式
2011-10-27 10:40 833单态设计模式有三种做法: 1.声明公有实例为public 2. ... -
谨慎地实现Serializable
2011-10-27 10:15 1185《Effective Java中文版( ... -
Java中static、final用法小结
2011-04-12 15:24 997一、final 1.final变量: ... -
j2se代码性能技巧
2011-03-04 17:00 0.JAVA开发工具集(JDK) ... -
String.format方法使用
2011-03-04 11:45 9668一.常规类型、字符类型和数值类型的格式说明符的语法如下:%[ ... -
HttpServletResponseWrapper获取jsp的输出内容
2011-02-17 10:17 0主题:(转)用HttpServletResponseWrapp ... -
java hotswap(java热部署)
2011-01-04 14:33 2071安装步骤: 1、 在 windows 启动安装程序,在控制 ... -
common-BeanUtils使用
2010-12-17 15:16 14771。在審核過程中,我們 ... -
java压缩加密
2010-12-06 12:03 37101。首先下载winzipaes.jar(h ...
相关推荐
Map拆分与List拆分涉及到数据的分布式处理,这通常在Hadoop、Spark等大数据处理框架中常见。下面我们将详细探讨这两个概念及其在实际应用中的重要性。 首先,Map是一种键值对存储的数据结构,其中每个键(Key)都是...
List<Map, Object>> list = gson.fromJson(jsonString, new TypeToken<List<Map, Object>>>(){}.getType()); ``` 2. Jackson库: Jackson是另一个流行的JSON处理库,提供了`ObjectMapper`类来实现JSON与Java对象...
7. 性能优化:比较易语言实现的List和Map与Java原生实现的性能差异,了解如何优化数据结构和算法。 深入研究这些源码,不仅可以帮助你理解易语言的面向对象编程,还可以加深对Java集合框架的理解,同时也能锻炼你的...
本文主要比较了这三种Map的性能,尤其是在插入和查找操作上的效率。 1. **TreeMap**: - **实现方式**:TreeMap基于红黑树(Red-Black Tree)实现,这是一种自平衡的二叉查找树。 - **时间复杂度**:插入和查找的...
### set、list、map的区别与联系 #### 一、概述 在Java编程语言中,`set`、`list`和`map`是非常重要的数据结构,它们分别代表了不同的集合类型,各自有着独特的特性与用途。 - **List**:有序集合,可以包含重复...
然而,SharedPreference本身并不直接支持复杂数据类型如`List<Map, List<String>>>`的存储。在实际操作中,我们需要通过序列化和反序列化的方式来处理这类数据。 **序列化**是将复杂数据结构转换成可以存储或传输的...
在处理JSON数据时,我们经常遇到两种常见的数据结构:列表(List)和映射(Map)。本文将详细讲解如何使用Gson解析这两种格式的JSON数据。 ### 1. 解析List格式的JSON数据 在Java中,我们通常使用`List`接口来存储...
在处理大量数据时,通过将列表(list)转换为映射(map)或树形结构,可以提高数据检索的效率,减少数据库查询次数,从而优化程序性能。 1. **List转Map** 列表(List)是一种线性数据结构,它以顺序的方式存储...
### 集合概述:set、List、Map #### 一、集合框架概述 ##### 1.1.1 容器简介 在Java编程中,集合框架是一个非常重要的概念,它提供了一种灵活的方式来存储、操作和管理不同类型的对象集合。集合框架的主要目标是...
ArrayList和Vector都是实现了List接口的,但是ArrayList的性能比Vector好。 接下来,我们来看Map和HashMap的区别。Map是一个接口,而HashMap是一个实现了Map接口的具体类。Map提供了key到value的映射,一个Map中不...
3. **HashMap**: `HashMap`是非线程安全的,与`ArrayList`类似,它在单线程环境中提供更好的性能。`HashMap`允许`null`键和`null`值,它通过哈希表实现,可以快速查找键值对。 4. **Hashtable**: `Hashtable`是线程...
本篇文章将深入探讨如何将Java中的List和Map对象转化为JSON格式,并涉及与AJAX交互的相关知识。 1. **Java JSON库**: 在Java中,我们可以使用多种库来实现对象到JSON的转换,如Jackson、Gson、Fastjson等。这里以...
在Java编程语言中,集合框架提供了多种数据结构来存储和操作数据,其中最常用的是`Set`、`Map`和`List`。这三种集合类型各自具有独特的特性和用途,理解它们之间的区别与联系对于有效地使用Java进行数据管理至关重要...
5. LinkedList与ArrayList的比较 LinkedList是List接口的另一个实现,它基于双向链表实现,对于在列表中间插入和删除元素,LinkedList的性能优于ArrayList,因为不需要移动元素。但在随机访问元素时,LinkedList的...
HashMap是最常用的Map实现,它提供了快速的查找性能,而TreeMap则按照键的自然顺序或自定义比较器排序键。使用Map时,我们通常用`put(key, value)`来添加键值对,`get(key)`来获取对应的值: ```java Map, Integer>...
Java作为后端服务器语言,常与它们配合处理数据,尤其是当涉及到List和Map这类集合数据结构时。这篇博客将深入探讨如何使用Ajax和JSON来实现与Java服务端之间List和Map的直接传递。 首先,Ajax的核心在于...
### List接口和Map接口详解 #### 一、Java集合框架概览 Java集合框架是Java标准库的一个核心组成部分,用于处理各种数据结构如列表、集合和映射等。该框架提供了一组统一的接口和实现,使开发人员能够高效地管理和...
### Collection、Map、List、Set、Iterator 的详细解析 #### Collection 接口 - **定义**:`Collection` 是 Java 集合框架的核心接口之一,几乎所有其他集合接口都直接或间接继承自它。它提供了对集合进行增删查改...
### Java List与Map基础知识 在Java编程中,`List`和`Map`是两种非常重要的数据结构,它们在处理各种业务逻辑时起到了关键作用。本文将详细介绍如何在Eclipse环境中编写与`List`和`Map`相关的基础代码,并提供一些...
根据给定文件的信息,我们可以详细地探讨一下Java中几种主要的集合容器——List、Set以及Map的区别,并且深入了解它们各自的特性和应用场景。 ### 一、List #### 1. ArrayList - **特点**:`ArrayList`是基于动态...