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.)。
相关推荐
本知识点重点讲解将List转换为List<Map>的过程,这在进行Web开发、数据处理以及与前端交互等场景中非常常见。同时,也会涉及List转换为List及list转换为JsonArray的内容。 ### List转换为List<Map> 在Java中,Bean...
ResultSet 转为 List<Map> ResultSet 转为 List<Map> 是一种常见的数据处理操作。在 Java 中,使用 JDBC 连接数据库时,通常会返回一个 ResultSet 对象,该对象包含了查询结果集的所有记录。为了方便数据处理和使用...
javascript 模拟 java中的 List,Map js文件为 js/utils.js IE6.0 测试通过 <br>List: add(var obj) //添加一个元素 remove(var index) //删除一个元素 get(var index) //获取一个元素 remove...
本文将详细介绍在Java 8中将List转换为Map对象的方法,并提供了多种实现方式。 首先,我们需要明确Map的key是什么?在这个例子中,我们使用员工对象的empId作为key,值是员工姓名。我们可以使用Java 8中的Streams ...
本篇将详细介绍如何在嵌套的Map和List中获取key和value值。 首先,让我们理解什么是嵌套的Map。一个Map是一个键值对的集合,其中每个键都是唯一的,并且关联着一个值。当一个Map的值本身又是一个Map时,我们就说这...
Map拆分与List拆分涉及到数据的分布式处理,这通常在Hadoop、Spark等大数据处理框架中常见。下面我们将详细探讨这两个概念及其在实际应用中的重要性。 首先,Map是一种键值对存储的数据结构,其中每个键(Key)都是...
在FreeMarker中,遍历`List<Map<String>>`是常见的操作,尤其在处理从后端传来的复杂数据结构时。这篇博客链接虽然无法直接访问,但从标题来看,我们可以推测其内容可能涉及如何在FreeMarker模板中遍历一个包含Map...
list转map的测试类,用到jdk1.8的新特性,感觉用起来很方便
一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List<Map, Object>>结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List<Map, Object>>转化为...
List集合转换成String,String转List,Map转String,String转Map等 集合与字符串相互转换,可以自己扩展源码,带有注释
将list<Map>转换成JavaBean的工具类
在与服务器进行数据交互时,我们将List和Map转换为JSON格式,以便于传输。 要实现jQuery的Ajax调用,我们需要使用`$.ajax()`函数。这个函数提供了一种灵活的方式,可以配置请求的所有方面,包括URL、数据类型、请求...
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
本篇文章将详细介绍如何将Map和List集合转换为XML字符串,以及如何将XML字符串反向转换回Map和List集合。 首先,让我们探讨`Map`集合转成XML字符串的过程。一个`Map`对象存储键值对,可以使用各种库如`JAXB (Java ...
"java转换xml、list、map和json" 本文主要讲述了Java中将xml、list、map和json之间的转换的相关知识点。 xml和map之间的转换 在Java中,xml和map之间的转换可以通过使用dom4j库来实现。dom4j是一个Java开源库,...
List<Map, Object>> list = gson.fromJson(jsonString, new TypeToken<List<Map, Object>>>(){}.getType()); ``` 2. Jackson库: Jackson是另一个流行的JSON处理库,提供了`ObjectMapper`类来实现JSON与Java对象...
标题中的“map转化为list”指的是在编程中,我们经常需要将Map对象的键值对转换成List对象,以便于进一步处理或展示数据。这个过程通常涉及到Java集合框架中的转换操作,尤其是在处理数据结构时。 在Java中,Map是...
List<map>,List<Map, Object>>,多字段组合排序。提供一个简易的思路,如果需要进行参考。
本文将深入探讨如何使用这些技术来发布Web服务,特别是涉及复杂对象如List、Map及List<Map>的传递。 首先,Spring框架是一个Java企业级应用开发的强大工具,它提供了众多模块,包括Spring MVC用于Web开发。在Spring...
在处理JSON数据时,我们经常遇到两种常见的数据结构:列表(List)和映射(Map)。本文将详细讲解如何使用Gson解析这两种格式的JSON数据。 ### 1. 解析List格式的JSON数据 在Java中,我们通常使用`List`接口来存储...