簡體   English   中英

從ArrayList對象中檢索值的array []

[英]Retrieve array[] of values from ArrayList of objects

假設我有一個對象的ArrayList。 例如: ArrayList<Person> personList ,其中每個Person有2個類變量String nameint age 這些變量每個都有自己的getter方法getName()getAge()

檢索int ages[]的數組(或ArrayList)的最簡單方法是什么?

請注意,此問題類似於詳細標題為“ 從java中的對象數組中檢索分配給特定類成員的值數組 ”,盡管沒有對for循環的任意限制,並且使用ArrayList而不是Array。

創建與列表大小相同的目標數組,然后遍歷列表並將每個元素的age添加到目標數組。

有很多方法可以做到這一點 - 這是一個。

首先將年齡放入列表(使用java8流),然后將列表轉換為數組。

public int[] getAges() {
    return personList.stream()
        .mapToInt(Person::getAge)
        .toArray();
}
Person P1 = new Person("Dev", 25);
Person P2 = new Person("Andy", 12);
Person P3 = new Person("Mark", 20);
Person P4 = new Person("Jon", 33);

ArrayList<Person> personList = new ArrayList<>(Arrays.asList(new Person[] { P1, P2, P3, P4 }));
int[] ages = getPersonAges(personList); // [25, 12, 20, 33]

private static int[] getPersonAges(ArrayList<Person> personList) {
    int[] ages = new int[personList.size()];
    int idx = 0;

    for (Person P : personList) {    // Iterate through the personList
        int age = P.getAge();
        ages[idx++] = age;
    }

    return ages;
}

暫無
暫無

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

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