簡體   English   中英

將包含數組列表的對象保存在數組列表中

[英]Saving an object which contains arraylists in arraylists

我有一個名為myRestaurant的Restaurant類型的對象,其中包含EmployeesAList,MenuAList和OrdersAList,每個對象都存儲對象Employee,Menu_Item和Order的實例。 Order的每個實例都存儲整數,字符串和整數數組列表。

當我保存myRestaurant時,將保存除Orders類中的arraylist之外的每個arraylist。

有什么建議么?

在Runner中保存方法

 public boolean SaveToFile(Restaurant myrest)
{
    try
    {
        File outFile = new File("etrest.rest");  
        //creates object representing file

        FileOutputStream outFileStream = new FileOutputStream(outFile);
        //connection between program and file

        ObjectOutputStream outObjectStream = new ObjectOutputStream(outFileStream);
        //class which is used to pass objects which will be saved to file

        //Write serializable ArrayList to file
        outObjectStream.writeObject(myrest);        

        //output done, so close the stream
        outObjectStream.close();
        return true;
    }
    catch(IOException IOE)
    {
        System.out.println(IOE.toString()); //debug purpose
        return false;        
    }
}

餐廳中添加訂單的方法

ArrayList OrdersAList = new ArrayList();

public void AddOrder(Order o)
{
    OrdersAList.add(o);
}

訂單類ArrayList Menu_ItemsIDAList = new ArrayList();的一部分

public Order()
{
    paid = false;
    WaiterNo = 0;
    TableNo = 0;
    item = 0;
}

public Order(boolean pd, int wN, int tN, int it)
{
    paid     = pd;
    WaiterNo = wN;
    TableNo  = tN;
    item     = it;
}

//MENU ITEMS ENTERED PER ORDER
public void AddMenu_ItemID(int item)
{
    Menu_ItemsIDAList.add(item);
}

當我創建Order的實例時,我創建一個循環以填充Menu_ItemsIDAList

我無法完全解決您的問題...

您/我們應該有一個更好的概覽,您的列表將在其中准確保存,您的“添加”方法在哪里? 在哪個級別...

因此,我建議您制作一個圖表。 您的情況是UML類圖( http://en.wikipedia.org/wiki/Class_diagram )。

一旦了解了類,屬性和關系,就可以繪制這樣的圖並可以正確地使用代碼。

當然,我們可以為您提供“缺少某些東西”的快速解決方案……但是對於將來的開發,您應該了解面向對象編程的基礎。 UML類和UML用例圖也是一個很好的起點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM