2012-11-17 170 views
0

我有3個獨立的對象,如GSMTable,SMSTable和GPRSTable。 這些包括2個字段srDate和numberOfSR。 現在我需要讓他們到一個三維數組對象,因爲我需要回到它爲我jqPlot線圖 這是我的要求:創建3D數組對象

[ 
    [gsmTable.srDate][gsmTable.noOfSR], 
    [smsTable.srDate][smsTable.noOfSR], 
    [gprsTable.srDate][gprsTable.noOfSR] 
] 

我寫我自己的代碼像下面,但我不能完成它。

@RequestMapping(value = "/allGridView", method = RequestMethod.GET) 
public @ResponseBody 
Object[] showLineChart(Map<String, Object> map, HttpServletRequest request, 
     HttpServletResponse response) { 

    List<GSMTable> gsmList = contactService.fin(); 
    List<Date>gsmDateList=new ArrayList<Date>(); 
    List<Integer>gsmCount=new ArrayList<Integer>(); 
    Object[] gsmArray=new Object[2]; 
    for (Iterator iterator =gsmList.iterator();iterator.hasNext();) { 
     GSMTable gsmTable=(GSMTable)iterator.next(); 
     gsmDateList.add(gsmTable.getSRDate()); 
     gsmCount.add(gsmTable.getNumberOfSR()); 
    } 
    gsmArray[0]=gsmDateList.toArray(new Date[gsmDateList.size()]); 
    gsmArray[1]=gsmCount.toArray(new Integer[gsmCount.size()]);  
    //===================================================================================== 
    List<SMSTable> smsList = contactService.sms(); 
    List<Date>smsDateList=new ArrayList<Date>(); 
    List<Integer>smsCount=new ArrayList<Integer>(); 
    Object[] smsArray=new Object[2]; 
    for (Iterator iterator =smsList.iterator();iterator.hasNext();) { 
     SMSTable smsTable=(SMSTable)iterator.next(); 
     smsDateList.add(smsTable.getSRDate()); 
     smsCount.add(smsTable.getNumberOfSR()); 
    } 
    smsArray[0]=smsDateList.toArray(new Date[smsDateList.size()]); 
    smsArray[1]=smsCount.toArray(new Integer[smsCount.size()]); 
    //===================================================================================== 
    List<GPRSTable> gprsList = contactService.gprs(); 
    List<Date>gprsDateList=new ArrayList<Date>(); 
    List<Integer>gprsCount=new ArrayList<Integer>(); 
    Object[] gprsArray=new Object[2]; 
    for (Iterator iterator =gprsList.iterator();iterator.hasNext();) { 
     GPRSTable gprsTable=(GPRSTable)iterator.next(); 
     gprsDateList.add(gprsTable.getSRDate()); 
     gprsCount.add(gprsTable.getNumberOfSR()); 
    } 
    gprsArray[0]=gprsDateList.toArray(new Date[gprsDateList.size()]); 
    gprsArray[1]=gprsCount.toArray(new Integer[gprsCount.size()]); 

    Object[][][] finalArray; 
    //after that how to complete it ? ? ? 
    //need to return finalArray as 3D Object Array 
    return finalArray; 
} 

gsmArray:

[[2012-11-05,05],[2012-11-06,08],[2012-11-07,10],[2012-11-08,14],[2012-11-08,09]] 

smsArray:

[[2012-11-05,02],[2012-11-06,03],[2012-11-07,04],[2012-11-08,04],[2012-11-08,03]] 

gprsArray:

[[2012-11-05,04],[2012-11-06,07],[2012-11-07,08],[2012-11-08,04],[2012-11-08,07]] 

我需要合併gsmArray,smsArray和gprsArray作爲3D陣列 然後我期待陣列應該是:

[[2012-11-05,05],[2012-11-06,08],[2012-11-07,10],[2012-11-08,14],[2012-11-08,09],[2012-11-05,02],[2012-11-06,03],[2012-11-07,04],[2012-11-08,04],[2012-11-08,03],[2012-11-05,04],[2012-11-06,07],[2012-11-07,08],[2012-11-08,04],[2012-11-08,07]] 
+0

而是這一切混亂的,使用一個包含HashMap。 –

+0

Object [] [] [] [] finalArray; ?或Object [] [] [] finalArray; – dreamcrash

+0

dreamcrash - >修正後它應該是Object [] [] [] finalArray –

回答

0

終於得到了解決:

@RequestMapping(value = "/allGridView", method = RequestMethod.GET) 
public @ResponseBody 
Object[] showLineChart(Map<String, Object> map, HttpServletRequest request, 
     HttpServletResponse response) { 
    List<MapTable> gsmList = contactService.fin(); 
    Object[] gsmArray = new Object[gsmList.size()]; 
    int i = 0; 
    for (Iterator iterator = gsmList.iterator(); iterator.hasNext();) { 
     MapTable gsmTable = (MapTable) iterator.next(); 
     Object[] obj = new Object[2]; 
     obj[0] = gsmTable.getSRDate(); 
     obj[1] = gsmTable.getNumberOfSR(); 
     gsmArray[i] = obj; 
     i++; 
    } 

    // ===================================================================================== 
    List<SMSTable> smsList = contactService.sms(); 
    Object[] smsArray = new Object[smsList.size()]; 
    i=0; 
    for (Iterator iterator = smsList.iterator(); iterator.hasNext();) { 
     SMSTable smsTable = (SMSTable) iterator.next(); 
     Object[] obj = new Object[2]; 
     obj[0] = smsTable.getSRDate(); 
     obj[1] = smsTable.getNumberOfSR(); 
     smsArray[i] = obj; 
     i++; 
    } 
    // ===================================================================================== 
    List<GPRSTable> gprsList = contactService.gprs(); 
    Object[] gprsArray = new Object[gprsList.size()]; 
    i=0; 
    for (Iterator iterator = gprsList.iterator(); iterator.hasNext();) { 
     GPRSTable gprsTable = (GPRSTable) iterator.next(); 
     Object[] obj = new Object[2]; 
     obj[0] = gprsTable.getSRDate(); 
     obj[1] = gprsTable.getNumberOfSR(); 
     gprsArray[i] = obj; 
     i++; 
    } 

    Object[] p=new Object[3]; 
    p[0]=gsmArray; 
    p[1]=smsArray; 
    p[2]=gprsArray; 
    return p; 
} 

輸出:

[[["2012-10-14",3949681],["2012-10-15",9807773],["2012-10-16",9955313],["2012-10-17",9963638],["2012-10-18",9707045],["2012-10-19",9504716],["2012-10-20",8263961],["2012-10-21",7488501],["2012-10-22",10252551],["2012-10-23",10308166],["2012-10-24",10475042],["2012-10-25",10404402],["2012-10-26",10423749],["2012-10-27",8735703],["2012-10-28",7596690],["2012-10-29",8282781],["2012-10-30",11137772],["2012-10-31",11270296],["2012-11-01",11450240],["2012-11-02",11198160],["2012-11-03",9695753],["2012-11-04",8780354],["2012-11-05",11988513],["2012-11-06",12076273],["2012-11-07",12317203],["2012-11-08",12347978],["2012-11-09",12189239],["2012-11-10",10431736],["2012-11-11",9712163],["2012-11-12",12878093],["2012-11-13",12254237],["2012-11-14",13545518]],[["2012-10-14",2536],["2012-10-15",519490],["2012-10-16",527355],["2012-10-17",532718],["2012-10-18",535088],["2012-10-19",511614],["2012-10-20",466463],["2012-10-21",446447],["2012-10-22",531781],["2012-10-23",539720],["2012-10-24",540633],["2012-10-25",538185],["2012-10-26",615236],["2012-10-27",777230],["2012-10-28",433904],["2012-10-29",484538],["2012-10-30",531702],["2012-10-31",553843],["2012-11-01",560434],["2012-11-02",523517],["2012-11-03",474273],["2012-11-04",436413],["2012-11-05",522902],["2012-11-06",523710],["2012-11-07",532361],["2012-11-08",526496],["2012-11-09",523075],["2012-11-10",480817],["2012-11-11",430512],["2012-11-12",544556],["2012-11-13",783723],["2012-11-14",540902]],[["2012-10-03",6],["2012-10-09",2567],["2012-10-10",2017],["2012-10-11",2662],["2012-10-12",7861],["2012-10-13",21963],["2012-10-14",100925],["2012-10-15",484981],["2012-10-16",421067],["2012-10-17",501338],["2012-10-18",498310],["2012-10-19",514784],["2012-10-20",631011],["2012-10-21",683557],["2012-10-22",512583],["2012-10-23",530384],["2012-10-24",549654],["2012-10-25",569639],["2012-10-26",554665],["2012-10-27",681578],["2012-10-28",750583],["2012-10-29",820117],["2012-10-30",603903],["2012-10-31",592405],["2012-11-01",653473],["2012-11-02",655571],["2012-11-03",706664],["2012-11-04",759478],["2012-11-05",601499],["2012-11-06",623094],["2012-11-07",627868],["2012-11-08",611454],["2012-11-09",706279],["2012-11-10",754463],["2012-11-11",765718],["2012-11-12",642780],["2012-11-13",675966],["2012-11-14",509627]]]