集合A 两两一组 重新组合成集合B

集合A 转化成 集合B(类似gridview用listview实现,将gridview的每两条数据组合成listview的一条数据)
这里写图片描述

1.Map:拼接String

public static void main(String[] args) {
    Map map=new HashMap();
    Map map2=new HashMap();
    String s=null;
    int j=0;
    map.put(1,"a");
    map.put(2,"b");
    map.put(3,"c");
    map.put(4,"d");
    map.put(5,"e");
    map.put(6,"f");
    map.put(7,"g");
    map.put(8,"h");

    for(int i=1;i<=map.size();i++){
        if(i%2==0){
            s=s+map.get(i);
            if(map.size()%2==0){
                j++;
                map2.put(j,s);
            }else{
                j++;
                map2.put(j,s);
            }
        }else{
            s=map.get(i)+"";
        }
        if(i==map.size()&&map.size()%2!=0){
            j++;
            map2.put(j,s);
        }

    }
    System.out.println("总数"+ map2.size());
    for(int i=1;i<=map2.size();i++){
        System.out.println(map2.get(i));
    }

}

2.List集合,封装Bean类

import java.util.ArrayList;
import java.util.List;

/**
 * Created by donghui on 2016/12/7 0007.
 * 合并数据  集合A——>集合B
 * 集合A的数据两两一组组合成集合B
 */

public class MergeDataUtils {

    public static List<List<ArtworkData.ArtworkDataChild>> mergeData(List<ArtworkData.ArtworkDataChild> artworkData) {
        List<List<ArtworkData.ArtworkDataChild>> list2 = new ArrayList<>();
        List<ArtworkData.ArtworkDataChild> s = null;
        int j = 0;

        for (int i = 0; i < artworkData.size(); i++) {
            if (!(i % 2 == 0)) {  //偶数或0
                s.add(artworkData.get(i));
                if (artworkData.size() % 2 == 0) {
                    j++;
                    list2.add(s);
                } else {
                    j++;
                    list2.add(s);
                }
            } else { //奇数
                s = new ArrayList<>();
                s.add(artworkData.get(i));
            }
            if (i == artworkData.size() - 1 && artworkData.size() % 2 != 0) { //最后一位并且是奇数
                j++;
                list2.add(s);
            }

        }

        for (int i = 0; i < list2.size(); i++) {
            if(list2.get(i).size() == 1){
                LogUtil.e("log:总数", list2.size() + "  1:" + list2.get(i).get(0).artistWorksId);

            }else if(list2.get(i).size() == 2){
                LogUtil.e("log:总数", list2.size() + "  1:" + list2.get(i).get(0).artistWorksId + "   2:" + list2.get(i).get(1).artistWorksId);
            }
        }
        return list2;
    }


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值