簡體   English   中英

列出arraylist的一部分

[英]List part of arraylist

我有抽象類A。類B從A繼承,而類C從B繼承。

  • 類A有兩個實例變量字符串firstName字符串lastName
  • B類沒有實例變量。
  • C類具有一個實例變量int age。

我創建函數以列出列表中的所有對象。 我的ArrayList是從類B和C創建的。

我想創建一個僅列出對象具有年齡的函數(來自C類的對象)。 怎么樣?

最簡單的方法是簡單地檢查列表中每個對象的類型:

for (Object item : yourListWithBAndCs) {
      if (item instanceof C) {
           C itemAsC = (C) item;
           // do something
      } else { ... }
}

從Java8開始,您可以使用流和過濾器(對@Andrew Tobilko表示敬意)來獲得此建議:

list.stream().filter(i -> i instanceof C).collect(Collectors.toList());

以上將為您創建一個新列表; 僅包含作為C實例的那些對象。

class C extends B
{
     int age;
     ArrayList listAge;
     C()
     {
        listAge = new ArrayList();
     }
     public void addAge()
     {
    listAge.add(age);          
     }
}

暫無
暫無

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

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