集合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;
}
}