Ⅰ java list分組
沒明白你要的目的. 是想用list 集合來輸出結果.還是在資料庫里查詢出 這樣格式的結果.
如果是在java 後台.可以先創建Map 集合.Map<String,List<Object>> key代表 顏色 及尺寸. value 是一個List 集合.list 中存儲 紅-1 綠-2 藍-3 這樣的元素..
Ⅱ java 如何在資料庫里按月份來保存數據
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
*
* @author jwh-zh
*/
public class DateOperation {
public static void main(String args[]){
Date d1 = new Date("2012-01-02");
Date d2 = new Date("2012-03-02");
int m1 = d1.getMonth();
int m2 = d2.getMonth();
Map a = new HashMap();
for (int i = m1; i < m2; i++) {
Date d3 = d1;
if(i==m1){
d3.setDate(getLastDayOfMonth(d1.getYear(), d1.getMonth()+1));
a.put(d1,d3);
}else{
d3.setMonth(i);
d3.setDate(1);
Date d5 = d3;
d5.setDate(getLastDayOfMonth(d5.getYear(), d5.getMonth()+1));
a.put(d3, d5);
}
}
Date d4 = d2;
d4.setDate(1);
a.put(d4, d2);
}
private static int getLastDayOfMonth(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
// 某年某月的最後一天
return cal.getActualMaximum(Calendar.DATE);
}
}
如果涉及到跨年的,將判斷條件和年份綁定起來.其餘基本上不變.
Ⅲ java 按日期分組 演算法
直接用SQL語句
select count(id) as 數量,day(date) as 生產日期 from table group by day(date) order by day(czrq)
如果庫里不止一個月的數據,那麼再加個where條件
Ⅳ Java 對數據分組
把從資料庫讀出來的ResultSet 傳入這個方法
public static Map<Long, List<Long>> orgnaizeData(ResultSet rs) {
Map<Long, List<Long>> result = null;
try {
if (rs.getRow() > 0) {
result = new HashMap<Long, List<Long>>();
while (rs.next()) {
Long key = rs.getLong(1);
Long value = rs.getLong(2);
if (result.containsKey(key)) {
result.get(key).add(value);
} else {
List<Long> valueList = new ArrayList<Long>();
valueList.add(value);
result.put(key, valueList);
}
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}