簡體   English   中英

打印出數組列表中的每個項目

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM