您的位置:首页 > 其它

一维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;	}		}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: