import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("打印信息xxxxxxxxxxxxxxxxxx");
List list = new ArrayList();
Map map1 = new HashMap<String,String>();
map1.put("id", "001");
map1.put("name", "张三");
Map map2 = new HashMap<String,String>();
map2.put("id", "001");
map2.put("name", "李四");
Map map3 = new HashMap<String,String>();
map3.put("id", "002");
map3.put("name", "王二");
Map map4 = new HashMap<String,String>();
map4.put("id", "003");
map4.put("name", "赵五");
Map map5 = new HashMap<String,String>();
map5.put("id", "004");
map5.put("name", "陈六");
list.add(map1);
list.add(map2);
list.add(map3);
list.add(map4);
list.add(map5);
for (int i = 0; i < list.size(); i++) {
Map map = (Map) list.get(i);
System.out.println(map.get("name"));
}
System.out.println("----------------------------");
// int count = getList(list);
getList(list);
for (int i = 0; i < list.size(); i++) {
Map map = (Map) list.get(i);
System.out.println(map.get("name"));
}
}
public static void getList(List src){
List list1 = new ArrayList();
List list2 = new ArrayList();
int oldSize = src.size();
for (int i = 0; i < src.size(); i++) {
Map map = (Map) src.get(i);
String id = (String) map.get("id");
if(!list1.contains(id)){
list1.add(id);
}else{
src.remove(i);
list2.add(map);
}
}
for (int i = 0; i < src.size(); i++) {
Map map = (Map) src.get(i);
String id = (String) map.get("id");
String name = (String) map.get("name");
for (int j = 0; j < list2.size(); j++) {
String id1 = (String) ((Map)list2.get(j)).get("id");
String name1 = (String) ((Map)list2.get(j)).get("name");
if(id.equals(id1)){
map.put("name", name+","+name1);
}
}
}
// return oldSize - src.size();
}
}
分享到:
相关推荐
比较分析Vector、ArrayList和hashtable hashmap数据结构
记得刚毕业那会准备面试,看过不少面试题,里面有个说出HashMap和HashTable不同的题目,我那会面试的时候也遇到不少次这个问题,还隐约记得当时的回答是这样的: HashTable是比较旧的版本;HashTable是线程安全的,...
Map接口用于保存具有key-value映射关系的数据,常见的Map实现包括HashMap、TreeMap、HashTable和LinkedHashMap等。Queue是Java提供的队列实现。 本文总结了HashMap和HashTable的源码学习和面试总结,涵盖了它们的...
hashMap和hashTable的区别,大家可以下载学习学习。
HashMap介绍和使用
javaScript模拟的HashMap数据结构,可以方便的put和get。几乎和Java中HashMap类的功能一模一样。非常好用的!
HashMap的一个数据结构 锁升级:锁升级过程 resize的过程在开发中 怎么保证容器它线程安全后就是数据插入过程使用的头插法 但是头插法会造成一些问题等等等等的那个等等的那个等等的那个等等的那个等等的那个等等的...
经典讲解List和ArrayList和Vector和HashTable和HashMap区别
详见http://blog.csdn.net/huaxun66/article/details/53036625
1、此HashMap类采用java jdk中HashMap的实现方式。2、相比网站上发布过的hashtable之类的源码:。此HashMap寻址方法是拉链法.比开放寻址法对连续内存要求更低。哈希函数用的是java中String.hashCode()算法(经实际验证...
HashMap存放.doc
HashMap是一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射HashMap采用了数组和链表的数据结构,能在查询和修改方便继承了数组的线性查找和链表的寻址修改HashMap是非synchronized,所以HashMap很快...
这个是利用iterator迭代器来对hashMap进行迭代元素,数据java基础的内容。有兴趣的朋友可以看看。
Hashtable和HashMap区别以及他们的具体介绍
HashTable不支持空键值对! 而HashMap支持空键值对!
Javascript实现和操作HashMap,压缩包里面有hashmap定义和操作的例子
下面我们将深入探讨 HashMap 的数据结构、 put 方法的实现细节和 Hash 码的计算过程。 HashMap 的数据结构 HashMap 的数据结构可以分为两部分:数组和链表。数组是 HashMap 的基本结构,链表是数组元素的具体实现...
NULL 博文链接:https://heisetoufa.iteye.com/blog/342983
红黑树在 HashMap 中主要用于存储有序的数据,并且可以快速地进行搜索、插入和删除操作。HashMap 中元素的存储规则是按照 key 的 hash 值找到下标,然后判断该位置是否有元素,如果有就将尾节点的 Node 的 next 指向...
HashMap数据结构,HashMap的构造方法,HashMap的put,HashMap的get