簡體   English   中英

如何在此ArrayList中添加元素?

[英]How to add an element in this ArrayList?

我一直試圖使這項工作,但如何在此ArrayList“ hourCounts”中添加第四個元素?

public class HourCounts {

    private String[] hourCounts = {"One","Two","Three"};
    public hourCounts() {
      hourCount[3] = new String ("Four") ; // how do I write the code to add a 
                                           // new element that says "Four"?     
    }     

    public void countHours() {
      int hour = 0;
       while(hour < hourCounts.length) {
          System.out.println(hour + ": " + hourCounts[hour]);
          hour++;
       }   
    }     
}

以下使用ArrayList示例應為您提供幫助:

List<String> hourCounts = private List<String> hourCounts 
                           = new ArrayList<>Arrays.asList("One", "Two", "Three"));
public hourCounts() {
    hourCount.add(new String ("Four"));
}

ArrayListList最受歡迎的實現之一。 List不同於Array[] )。

數組是固定長度的。 Lists很靈活。 因此,當您知道要存儲的元素數量時,應該使用一個數組。 (例如String[] )。 如果您不知道大小,或者知道大小會不時發生變化(通過添加和刪除元素),建議使用List

另外,請記住,在Java中, String不是char[] 實際上,它們在特定字段中存儲字符數組,但這與CPython不同。

Java數組具有固定的長度(在構造時),您可以復制當前數組以添加另一個元素。 喜歡,

private String[] hourCounts = { "One", "Two", "Three" };

public hourCounts()
{
    hourCounts = Arrays.copyOf(hourCounts, hourCounts.length + 1);
    hourCounts[hourCounts.length - 1] = "Four";
}

但是 ,我覺得你想要一個List一樣

private List<String> hourCounts = new ArrayList<>(Arrays.asList(
        "One", "Two", "Three"));

public hourCounts() {
    hourCounts.add("Four");
}

public void countHours() {
    int hour = 0;
    while (hour < hourCounts.size()) {
        System.out.println(hour + ": " + hourCounts.get(hour));
        hour++;
    }
}

最后,請遵循Java命名約定(不要將類命名為與該類中的字段相同的名稱)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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