[英]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.