[英]Printing out each item in an arraylist
我试图从另一个类中列出数组列表中的项目。
我总共有3节课
告诉-主程序
Item-创建单个电话簿项目的类
目录-存储所有项目的目录对象。
我想做的是列出在“目录”中创建的数组列表中的所有项,然后即时通讯这样做。
告诉
if (Directory.entries.size>0)
{
for (int i=0; i<Directory.entries.size(); i++) // Check size of array
{
Directory.entries.get(i).showRecord();
}
}
目录
public void printItem()
{
//I HAVE NO IDEA WHAT GOES HERE
}
条目
public class Entry
{
String name;
String telNo;
public Entry(String aName, String aTelNo )
{
setNumber(aTelNo);
setName(aName);
}
// Add methods here
private void setNumber(String aTelNo)
{
telNo = aTelNo;
}
public String getNumber()
{
return telNo;
}
private void setName(String aName)
{
name = aName;
}
public String getName()
{
return name;
}
public String toString()
{
return name + "." + telNo;
}
}
但是我最不了解在printItem()方法中需要做些什么,以便我可以打印目录中的各个项目。
有人可以指出我正确的方向吗? 这是我第一次真正在多个类中使用数组列表,我感到非常困惑。
由于您已经在Entry
类中覆盖了toString
,因此您所需要做的就是遍历List并打印每个项目。 它将自动调用Entry类的toString并打印返回的值:-
将此代码放在Directory
类中的print
方法中。
public static void print() {
for (Entry entry: Directory.entries) {
System.out.println(entry);
}
}
entries
是您的Directory
类中的static
列表。
在您的Tell
类中,只需调用您的print
方法即可:-
Directory.print();
现在您没有调用printItem()
; 我假设您对.showRecord()
调用要么替换printItem()
要么被删除,因为他们试图完成同一件事。
假设您删除了.showRecord()
而仅使用printItem()
,并且您正在使用某种类型的集合,并且该类的数据成员在Directory
类中具有名为entries
:
public void printItem() {
for (Entry entry : this.entries) {
System.out.println(entry);
}
}
这就是您所需要的,因为您已经覆盖了Entry
类中的toString()
函数。 这将为您遍历目录中的每个条目,并一次将它们打印在单独的行上。
您可以使用TreeMap<String, String>
来保存电话目录中的项目列表。 TreeMap将确保您的键以自然顺序(按人员姓名)排序,并且目录中没有重复的名称(每个人员姓名都是唯一的)。 打印一个条目将是一个简单的String treeMap.get(key);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.