一维List转换为二维数组
2014-12-23 21:54
155 查看
package com.util; import java.util.Comparator; public class ComparatorTime implements Comparator<String> { @Override public int compare(String arg0, String arg1) { int flag = arg0.compareTo(arg1); return flag; } public static void main(String[] args) { String a ="2014"; String b = "2013Q3"; System.out.println(a.compareTo(b)); } }
package com.util;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;import com.demo.A;public class Util { public static List<A> lists = null; public static void main(String[] args) { Map<String,List<A>> timeMap = new HashMap<String,List<A>>(); List<A> as = getList(); List<String> staticTimeList = new ArrayList<String>(); for(A a:as){ String staticTime = a.getStaticTime(); List<A> alist = timeMap.get(a.getStaticTime()); if(alist==null){ alist = new ArrayList<A>(); timeMap.put(staticTime, alist); staticTimeList.add(staticTime); } alist.add(a); } sort(staticTimeList); Map<Integer,List<A>> dataMap = new HashMap<Integer,List<A>>(); List<Integer> indexIDList = new ArrayList<Integer>(); for(A a:as){ Integer indexID = a.getIndexID(); List<A> alist = dataMap.get(indexID); if(alist==null){ alist = new ArrayList<A>(); dataMap.put(indexID, alist); indexIDList.add(indexID); } alist.add(a); } int indexSize = indexIDList.size(); int timeSize = staticTimeList.size(); String[] timeArr = list2array(staticTimeList); Double[][] data = new Double[indexSize][timeSize]; for(int i=0;i<indexSize;i++){ for(int t=0;t<timeSize;t++){ data = null; } } int i=0; for(Integer indexID:indexIDList){ List<A> alist = dataMap.get(indexID); for(int t=0;t<timeSize;){ for(A a:alist){ if(a.getStaticTime().equals(timeArr[t])){ data[i][t] = a.getValue(); continue; } } t++; } i++; } System.out.println("end"); } public static List<A> getList(){ if(lists==null){ lists = new ArrayList<A>(); for(int i=2;i<102;i++){ A a = new A(i%10, "200"+(i%9) , i); lists.add(a); } } return lists; } public static List<String> sort(List<String> staticTimeList){ ComparatorTime comparator = new ComparatorTime(); Collections.sort(staticTimeList, comparator); return staticTimeList; } public static String[] list2array(List<String> list){ String[] arr = (String[])list.toArray(new String[list.size()]); return arr; }}
package com.demo;public class A { int indexID; String staticTime; double value; public A(int indexID, String staticTime, double value) { super(); this.indexID = indexID; this.staticTime = staticTime; this.value = value; } public int getIndexID() { return indexID; } public void setIndexID(int indexID) { this.indexID = indexID; } public String getStaticTime() { return staticTime; } public void setStaticTime(String staticTime) { this.staticTime = staticTime; } public double getValue() { return value; } public void setValue(double value) { this.value = value; } }
相关文章推荐
- 一维、二维数组向SAFEARRAY转换
- 字符串分割成一维数组、二维数组,一维数组与二维数组之间的转换
- C语言一维数组转换为二维数组
- 二维数组转换为一维
- java中arraylist和一维数组,二维数组的转换
- php将一维数组转换为连续个数的二维数组
- 一维数组转换成二维数组【C++】
- java list map转换成二维数组
- 把一维数组转换成二维数组
- PHP二维数组(或任意维数组)转换成一维数组的方法汇总
- np.array转换为list,嵌套的python list转成一个一维的python list
- SAFEARRAY向一维、二维数组转换
- PHP二维数组(或任意维数组)转换成一维数组的方法汇总
- 字符串分割成一维数组、二维数组,一维数组与二维数组之间的转换
- php将一维数组转换为每3个连续值组成的二维数组
- php 二维数组转换一维数组 array_column
- PHP实现一维数组转换成二维数组实例
- php将一维数组转换为每3个连续值组成的二维数组
- 如何将一维数组转换为需要的二维数组
- js将字符串转换为一维二维数组