Java快速实例化

时间:2013-12-04 05:22:18

标签: java iterator instantiation

如何在此代码中的构造函数中实例化DictionaryADT字典?此外,如果有人可以帮助Iterators,那将是很酷的。最后,如果你能帮助完成那些不错的打印功能。

import data_structures.*;
import java.util.Iterator;

public class ProductLookup {


DictionaryADT<String,StockItem> dictionary;
private int maxSize;

// Constructor.  There is no argument-less constructor, or default size
public ProductLookup(int maxSize) {
    this.maxSize = maxSize;
}

// Adds a new StockItem to the dictionary
public void addItem(String SKU, StockItem item) {
    dictionary.insert(SKU,item);
}

// Returns the StockItem associated with the given SKU, if it is
// in the ProductLookup, null if it is not.
public StockItem getItem(String SKU) {
    if (SKU == null)
        return null;
    return dictionary.getValue(SKU);
}

// Returns the retail price associated with the given SKU value.
// -.01 if the item is not in the dictionary
public float getRetail(String SKU) {
    if (!dictionary.contains(SKU))
        return (float) -.01;
    return getItem(SKU).getRetail();
}

public float getCost(String SKU) {
    if (!dictionary.contains(SKU))
        return (float) -.01;
    return getItem(SKU).getCost();
}

// Returns the description of the item, null if not in the dictionary.
public String getDescription(String SKU) {
    if (!dictionary.contains(SKU))
        return null;
    return getItem(SKU).getDescription();
}

// Deletes the StockItem associated with the SKU if it is
// in the ProductLookup.  Returns true if it was found and
// deleted, otherwise false.  
public boolean deleteItem(String SKU) {
    if (SKU == null)
        return false;
    return dictionary.remove(SKU);
}

// Prints a directory of all StockItems with their associated
// price, in sorted order (ordered by SKU).
public void printAll() {
    Iterator<StockItem> iterator = values();
    while (iterator.hasNext())
        System.out.println(iterator.next().toString());
}

// Prints a directory of all StockItems from the given vendor, 
// in sorted order (ordered by SKU).
public void print(String vendor) {
    Iterator<StockItem> iterator = values();
    if (dictionary.getItem(SKU).getVendor() == vendor)
        System.out.println(tmp.toString());
}

// An iterator of the SKU keys.
public Iterator<String> keys() {
    return new ;

}

// An iterator of the StockItem values.    
public Iterator<StockItem> values() {
    return null;
}
}

1 个答案:

答案 0 :(得分:0)

为什么与你完成maxSize的方式有什么不同?

public ProductLookup(int maxSize, DictionaryADT<String,StockItem> dictionary) {
    this.dictionary = dictionary;
    this(maxSize);
}

// Constructor.  There is no argument-less constructor, or default size
public ProductLookup(int maxSize) {
    this.maxSize = maxSize;
}