import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 类List4Map.java的实现描述:List4Map.java
*
* @author ahhqcheng 2012-2-29 下午7:56:11
*/
public class List4Map {
/**
* @description 实现将一个List转化为Map<Key,List>的样式
* @param 某个对象的List
* @return Map<Key,List>
*/
public Map<Integer, List<TestObject>> list4Map(List<TestObject> list) {
Map<Integer, List<TestObject>> map = new HashMap<Integer, List<TestObject>>();
if ((list != null) && (list.size() != 0)) {
for (TestObject test : list) {
// 这一步是关键,也很巧妙吧,哈哈
List<TestObject> testList = map.get(test.getId());
if (testList == null) {
testList = new ArrayList<TestObject>();
}
testList.add(test);
map.put(test.getId(), testList);
}
}
return map;
}
/**
* @description 对Map<key,List>的数据结构进行遍历
* @param Map<key,List>
* @return void
*/
public void outOfMap(Map<Integer, List<TestObject>> map) {
Set<Integer> keySet = map.keySet();
for (Iterator<Integer> i = keySet.iterator(); i.hasNext();) {
Integer key = i.next();
System.out.println(key + " : ");
List<TestObject> testList = map.get(key);
for (TestObject test : testList) {
System.out.print("<--" + test.getName() + "--" + test.getAddress() + "-->");
}
System.out.println();
}
}
public static void main(String[] args) {
List4Map list4Map = new List4Map();
/**
* 构造数据
*/
List<TestObject> list = new ArrayList<TestObject>();
TestObject test1 = list4Map.new TestObject(1, "name1", "address1");
TestObject test2 = list4Map.new TestObject(1, "name2", "address2");
TestObject test3 = list4Map.new TestObject(1, "name3", "address3");
TestObject test4 = list4Map.new TestObject(2, "name1", "address1");
TestObject test5 = list4Map.new TestObject(2, "name2", "address2");
TestObject test6 = list4Map.new TestObject(2, "name3", "address3");
list.add(test1);
list.add(test2);
list.add(test3);
list.add(test4);
list.add(test5);
list.add(test6);
// 装换
Map<Integer, List<TestObject>> map = new HashMap<Integer, List<TestObject>>();
map = list4Map.list4Map(list);
// 输出
list4Map.outOfMap(map);
}
class TestObject {
private int id;
private String name;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public TestObject(int id, String name, String address){
this.id = id;
this.name = name;
this.address = address;
}
public TestObject(){
}
}
}
分享到:
相关推荐
首先,我们需要创建一个工具类,用于序列化和反序列化`List<Map<String, List<String>>>`。通常我们可以使用`Gson`库来实现这个功能,因为它提供了方便的JSON转换方法。如果你的项目中还没有引入Gson库,可以在build...
将JSON字符串转化为Map,可以使用`fromJson()`方法: ```java import com.google.gson.Gson; import java.util.Map; String jsonString = "{\"key\":\"value\"}"; Gson gson = new Gson(); Map<String, ...
3. **遍历Map**:使用`<#list>`指令,我们遍历`dataList`中的每一个Map对象,然后再次使用`<#list>`遍历Map中的每一个键值对。 4. **输出结果**:`${key}`和`${value}`分别代表Map中的键和对应的值,它们会被替换为...
在Java 8中,将List转换为Map对象是一种非常实用的技术,特别是在处理大规模数据时非常有用。本文将详细介绍在Java 8中将List转换为Map对象的方法,并提供了多种实现方式。 首先,我们需要明确Map的key是什么?在这...
下面是将 ResultSet 转为 List<Map> 的实现代码: ```java public static List<Map<String,Object>> ResultSetToList(ResultSet rs) throws SQLException { List<Map<String,Object>> results = new ArrayList<Map...
javascript 模拟 java中的 List,Map<br>js文件为 js/utils.js<br>IE6.0 测试通过<br><br>List:<br>add(var obj) //添加一个元素<br>remove(var index) //删除一个元素<br>get(var index) //获取一个元素<br>remove...
假设我们有一个List,其中每个元素都是一个Map,我们可能需要遍历List并访问每个Map: ```java List<Map<String, String>> userList = new ArrayList<>(); for (Map<String, String> user : userList) { String ...
Java中对List<Map>根据Map某个key值进行排序的方法 在 Java 中,排序是一个非常常见的操作,特别是在处理 List 集合时。当我们需要根据 Map 中的某个 key 值对 List 集合进行排序时,需要使用Comparator接口来实现...
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
这里,我们将JSON字符串解析为`Map<String, City>`,其中键是城市ID,值是`City`对象。然后,通过遍历Map的`entrySet()`,我们可以访问每个城市的ID和名称。 ### 3. Gson解析JSON的优势 - **简单易用**:Gson提供...
本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`<s:iterator>`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...
标题中提到的“JCF(List、Set、Map)学习,实现了<key,value>按value排序”是一个关键点,我们将深入探讨这个话题。 首先,让我们了解List、Set和Map的区别。List是有序的集合,允许重复元素,并且可以保持插入顺序...
现在需要根据一个输入的字符"list1.column1=list2.column2,list1.column3=list3.column4"(不是固定的)来实现inner join关系的控制,即list1中的map和list2中map通过key值column1和column2关联,同时list1中的map和...
当你有一个Java对象,例如一个ArrayList或LinkedList,这些对象在Freemarker模板中表现为list类型,你可以通过`<#list>`来迭代每个元素。下面是一段基础示例: ```freemarker <#list users as user> 用户名:${...
标题中的“map转化为list”指的是在编程中,我们经常需要将Map对象的键值对转换成List对象,以便于进一步处理或展示数据。这个过程通常涉及到Java集合框架中的转换操作,尤其是在处理数据结构时。 在Java中,Map是...
TreeMap<K,V>是一个基于红黑树的实现,它可以保证映射按照升序顺序排列关键字。TreeMap<K,V>的构造器可以接受一个比较器,用于定义比较规则。这样,我们可以按照键的自然顺序进行排序,或者按照创建时所提供的比较器...
List<Map.Entry<String, String>> list = new ArrayList<>(map.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, String>>() { public int compare(Map.Entry<String, String> obj1, Map....
Map<String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); JSONObject jsonObject = new JSONObject(map); ``` 然后,你可以通过Ajax发送这个JSON字符串到服务器。例如...
PLUS:若表格之外还有嵌套的循环,也需要用<#list table as map></#list>,注意这里的<#list></#list>标签不要和某对其他标签交叉,不可以出现<#list><w:p></#list></w:p>这种 6. 标识替换完之后,另存为.ftl后缀...
在Java编程中,经常需要处理数据的序列化和反序列化,其中ArrayList<Map<Object>>与JSON之间的转换是一个常见的需求。JSON是一种轻量级的数据交换格式,广泛用于互联网应用中的数据传输,因为它易于阅读和编写,同时...