`
bzqgo
  • 浏览: 8421 次
社区版块
存档分类
最新评论

实现将一个List转化为Map<Key,List>的样式

 
阅读更多
   
  
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>> data保存到SharedPreference和读取

    首先,我们需要创建一个工具类,用于序列化和反序列化`List&lt;Map&lt;String, List&lt;String&gt;&gt;&gt;`。通常我们可以使用`Gson`库来实现这个功能,因为它提供了方便的JSON转换方法。如果你的项目中还没有引入Gson库,可以在build...

    json字符串转成 Map/List

    将JSON字符串转化为Map,可以使用`fromJson()`方法: ```java import com.google.gson.Gson; import java.util.Map; String jsonString = "{\"key\":\"value\"}"; Gson gson = new Gson(); Map&lt;String, ...

    FreeMarker 遍历list

    3. **遍历Map**:使用`&lt;#list&gt;`指令,我们遍历`dataList`中的每一个Map对象,然后再次使用`&lt;#list&gt;`遍历Map中的每一个键值对。 4. **输出结果**:`${key}`和`${value}`分别代表Map中的键和对应的值,它们会被替换为...

    在Java 8中将List转换为Map对象方法

    在Java 8中,将List转换为Map对象是一种非常实用的技术,特别是在处理大规模数据时非常有用。本文将详细介绍在Java 8中将List转换为Map对象的方法,并提供了多种实现方式。 首先,我们需要明确Map的key是什么?在这...

    ResultSet 转为listmap

    下面是将 ResultSet 转为 List&lt;Map&gt; 的实现代码: ```java public static List&lt;Map&lt;String,Object&gt;&gt; ResultSetToList(ResultSet rs) throws SQLException { List&lt;Map&lt;String,Object&gt;&gt; results = new ArrayList&lt;Map...

    js模拟list和map

    javascript 模拟 java中的 List,Map&lt;br&gt;js文件为 js/utils.js&lt;br&gt;IE6.0 测试通过&lt;br&gt;&lt;br&gt;List:&lt;br&gt;add(var obj) //添加一个元素&lt;br&gt;remove(var index) //删除一个元素&lt;br&gt;get(var index) //获取一个元素&lt;br&gt;remove...

    嵌套Map或者List获取key、value值

    假设我们有一个List,其中每个元素都是一个Map,我们可能需要遍历List并访问每个Map: ```java List&lt;Map&lt;String, String&gt;&gt; userList = new ArrayList&lt;&gt;(); for (Map&lt;String, String&gt; user : userList) { String ...

    Java中对list map根据map某个key值进行排序的方法

    Java中对List&lt;Map&gt;根据Map某个key值进行排序的方法 在 Java 中,排序是一个非常常见的操作,特别是在处理 List 集合时。当我们需要根据 Map 中的某个 key 值对 List 集合进行排序时,需要使用Comparator接口来实现...

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    Gson解析(List和Map)格式json数据 - CSDN博客1

    这里,我们将JSON字符串解析为`Map&lt;String, City&gt;`,其中键是城市ID,值是`City`对象。然后,通过遍历Map的`entrySet()`,我们可以访问每个城市的ID和名称。 ### 3. Gson解析JSON的优势 - **简单易用**:Gson提供...

    Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)

    本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`&lt;s:iterator&gt;`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...

    JCF(List、Set、Map)学习,实现了<key,value>按value排序噢

    标题中提到的“JCF(List、Set、Map)学习,实现了&lt;key,value&gt;按value排序”是一个关键点,我们将深入探讨这个话题。 首先,让我们了解List、Set和Map的区别。List是有序的集合,允许重复元素,并且可以保持插入顺序...

    java实现innerjoin关联算法

    现在需要根据一个输入的字符"list1.column1=list2.column2,list1.column3=list3.column4"(不是固定的)来实现inner join关系的控制,即list1中的map和list2中map通过key值column1和column2关联,同时list1中的map和...

    Freemarker中遍历list集合实例

    当你有一个Java对象,例如一个ArrayList或LinkedList,这些对象在Freemarker模板中表现为list类型,你可以通过`&lt;#list&gt;`来迭代每个元素。下面是一段基础示例: ```freemarker &lt;#list users as user&gt; 用户名:${...

    map转化为list

    标题中的“map转化为list”指的是在编程中,我们经常需要将Map对象的键值对转换成List对象,以便于进一步处理或展示数据。这个过程通常涉及到Java集合框架中的转换操作,尤其是在处理数据结构时。 在Java中,Map是...

    Java Map按键排序和按值排序

    TreeMap&lt;K,V&gt;是一个基于红黑树的实现,它可以保证映射按照升序顺序排列关键字。TreeMap&lt;K,V&gt;的构造器可以接受一个比较器,用于定义比较规则。这样,我们可以按照键的自然顺序进行排序,或者按照创建时所提供的比较器...

    对Map按key和value分别排序

    List&lt;Map.Entry&lt;String, String&gt;&gt; list = new ArrayList&lt;&gt;(map.entrySet()); Collections.sort(list, new Comparator&lt;Map.Entry&lt;String, String&gt;&gt;() { public int compare(Map.Entry&lt;String, String&gt; obj1, Map....

    ajax和json跟java实现List、Map直接传递

    Map&lt;String, String&gt; map = new HashMap&lt;&gt;(); map.put("key1", "value1"); map.put("key2", "value2"); JSONObject jsonObject = new JSONObject(map); ``` 然后,你可以通过Ajax发送这个JSON字符串到服务器。例如...

    SpringBoot_Freemarker生成Word_多个表格+两层嵌套循环

    PLUS:若表格之外还有嵌套的循环,也需要用&lt;#list table as map&gt;&lt;/#list&gt;,注意这里的&lt;#list&gt;&lt;/#list&gt;标签不要和某对其他标签交叉,不可以出现&lt;#list&gt;&lt;w:p&gt;&lt;/#list&gt;&lt;/w:p&gt;这种 6. 标识替换完之后,另存为.ftl后缀...

    java中ArrayListMapObject与Json互相转换.pdf

    在Java编程中,经常需要处理数据的序列化和反序列化,其中ArrayList&lt;Map&lt;Object&gt;&gt;与JSON之间的转换是一个常见的需求。JSON是一种轻量级的数据交换格式,广泛用于互联网应用中的数据传输,因为它易于阅读和编写,同时...

Global site tag (gtag.js) - Google Analytics