如何定义一个方法在java中输入一个新的项目到现有的散列表?
当我想将项目添加到预定义的散列表时,它通常很简单。但是,无论何时我想要定义类似addNewCustomer()
的方法并尝试在该方法内使用customerHashtable.put(...);
函数,它都不起作用。请帮助我定义一种可以与现有散列表一起工作的方法,并让我添加新对象(本例中为客户)。如何定义一个方法在java中输入一个新的项目到现有的散列表?
这里是下面的代码:
public static void main(String[] args) {
Hashtable<Integer, Customer> customerHashtable = new Hashtable<Integer, Customer>();
customerHashtable.put (1, new Customer("david", "+13035003433", new Address("AR", "77555")));
Customer customer = new Customer("mark", "13035003433", new Address("AR", "77200"));
public void addNewCustomers(int key, Customer customer) {
customerHashtable.put(key, customer);
System.out.println(customerHashtable.get(key).toString());
}
}
}
你必须把你的addNewCutomers()
方法你main
方法之外,为您HashTable
创建一个类字段。假设你是没事了静态情况下,它可能是这样的:
public class HashtableDemo {
static Hashtable<Integer, Customer> customerHashtable;
public static void main(String[] args) {
customerHashtable = new Hashtable<Integer, Customer>();
customerHashtable.put (1, new Customer("david", "+13035003433", new Address("AR", "77555")));
Customer customer = new Customer("mark", "13035003433", new Address("AR", "77200"));
addNewCustomers(2, customer);
}
public static void addNewCustomers(int key, Customer customer) {
customerHashtable.put(key, customer);
System.out.println(customerHashtable.get(key).toString());
}
}
谢谢你修复它。有效。我有一个问题,但。由于我们使用了静态方法,是否意味着我们也可以从其他类调用该方法? @TobiasGeiselmann –
正确。既然它是一种“公共”方法,你也可以从任何其他课程中调用它。 –
再次感谢您。 –
你将不得不在'customerHashtable'传递给函数,或使其成为类的字段。 –
你的意思是什么不起作用?你可以再详细一点吗? –
@ElliottFrisch我是编程新手。你能解释一下吗?我也复制了我想要完成的代码。 –