2012-09-01 71 views
1

嘿傢伙我有我用它來創建項目對象項目的子集創建對象

public class Item { 

private String id; 
private int count; 
private String name; 


public int getcount() 
{ 
    return this.count; 
} 

public Item(String name) 
{ 
    this.name=name; 
    this.id = ""; 

} 



public Item(String id, String name) 
{ 
    this.name=name; 
    this.id=id; 

} 

public Item(int count) 
{ 
    this.count=count; 
} 

public String getItemName() 
{ 
    return this.name; 
} 

public String getItemId() 
{ 
    return this.id; 
} 

public Item returnItems(ItemList itemset) 
{ 
    Item item=null; 

    return item; 
} 

} 

,我有ITEMLIST類存儲項目的List類項目。項目我在這裏添加對象列表

public class ItemList implements Iterable<Item> 
{ 

    private List<Item> hold=new ArrayList<Item>(); 



    ItemList(Item item) 
{ 


    this.hold.add(item); 
} 

ItemList() { 
    //throw new UnsupportedOperationException("Not yet implemented"); 
} 


public List<Item> getItemSet() 
{ 
    return this.hold; 

} 


public void addItems(Item item) 
{ 
    //hold = new ArrayList<Item>(); 
    this.hold.add(item); 
} 


@Override 
public Iterator<Item> iterator() { 
    Iterator<Item> item = hold.iterator(); 
    return item; 
} 



} 

Supose initailly我加I1,I2,I3項目obects到ITEMLIST如下

{I1} 
{I2} 
{I3} 

現在我想如下創建項目對象的一個​​子集,並添加到ITEMLIST其中每個子集將有2款產品

 {I1 I2} 
    {I1 I3} 
    {I2 I3} 

請創建一個子集 後來我連想擁有的2項以上子集幫助我想編寫一個函數,這將有助於我創建的n項子集 請幫

回答

0

我個人認爲,你ITEMLIST類API不會幫助你實現你的目標。
你需要的是與Sets工作,以便與「集合論」 API工作
(即交集,並集等)
你ITEMLIST類大概應該有一個「資產」的方法conerting的ITEMLIST到組。
您需要實施「PowerSet」計算才能獲得所有可能的子項目。
使用Set API實現此操作對於您來說比不使用它更容易。
您也可以使用一些來自互聯網的開源代碼 - 例如,我現在使用Google搜索,並找到this -
查看PowerSet的接口,該URL指向要實現的類。