1. 程式人生 > >兩個list合併為列表物件

兩個list合併為列表物件

為了將兩個list資料對應起來方便前端進行處理。

需求:第一個圖片對應於第一個視訊作為視訊的封面。
兩個陣列:List< String > imgList, List< String > videoList
視訊多於圖片時不返回視訊

由於前期資料結構設計未考慮到新增視訊功能,圖片和視訊無法對應起來。之前返回的兩個list陣列,前端需要自己處理將第一個圖片和第一個視訊對應起來,因此進行優化如下:

List<Map<String, Object>> resMap = Lists.newArrayList();
        for (int i = 0; i < imgList.size(); i++) {
            Map<String, Object> map = new HashMap<>();
            map.put("positionImg", imgList.get(i));
            if (null !=videoList && i < videoList.size()) {
                map.put("positionVideo", videoList.get(i));
            }
            resMap.add(map);
        }
        return resMap;
返回JSON資料:
"positionSlide": [
                {
                    "positionImg": "http://images.chengxinzhaopin.net/dgztc/6b0f6dd8fa6299d8b73945be96d36792.jpeg",
                    "positionVideo": "http://dgztc.oss-cn-hangzhou.aliyuncs.com/video/ec3d36b2150c5c705514345c02bbd361.mp4"
                },
                {
                    "positionImg": "http://images.chengxinzhaopin.net/dgztc/b3c82a9e1ce336d858746da75ee97bd3.jpeg",
                    "positionVideo": "http://dgztc.oss-cn-hangzhou.aliyuncs.com/video/43922be9e71016ce330a7d4535cf1bb7.mp4"
                },
                {
                    "positionImg": "https://img.hntv9hr.com/dgztc/6104630eeb3df726683ac945ff67b2a6.jpeg"
                }
            ],

這樣的返回資料結構就很方便前端進行處理了。