Java ArrayList从类对象更简单的方式做?

Java ArrayList从类对象更简单的方式做?,java,class,object,arraylist,Java,Class,Object,Arraylist,我知道如何在java中将类对象放入ArrayList(因为可以在不知道索引的情况下追加新对象),但我想知道是否有更简单的方法将它们添加到ArrayList并对其进行迭代 我甚至在想,假设我将对象名保存在一个模式中,我应该能够使用循环将每个对象添加到列表中,例如car1,car2,car3, import java.util.ArrayList; public class TestCar { public static void main(String[] args)

我知道如何在java中将类对象放入
ArrayList
(因为可以在不知道索引的情况下追加新对象),但我想知道是否有更简单的方法将它们添加到
ArrayList
并对其进行迭代

我甚至在想,假设我将对象名保存在一个模式中,我应该能够使用循环将每个对象添加到列表中,例如
car1,car2,car3,

import java.util.ArrayList;

public class TestCar {
        
    public static void main(String[] args) {
        ArrayList<String> carNames = new ArrayList<>();
        // Cars have simple getter methods corresponding with String and int
        Car car1 = new Car("Rav4", 2017);
        carNames.add(car1.getName());
        Car car2 = new Car("Commodore", 2005);
        carNames.add(car2.getName());

        for (int i = 0; i < carNames.size(); i++) {
            System.out.println(carNames.get(i));
        }

    }
}
import java.util.ArrayList;
公共级试验车{
公共静态void main(字符串[]args){
ArrayList carNames=新的ArrayList();
//Cars具有与String和int对应的简单getter方法
Car car1=新车(“Rav4”,2017年);
add(car1.getName());
Car car2=新车(“Commodore”,2005年);
add(car2.getName());
对于(int i=0;i

一如既往,感谢您的回复

假设您使用的是Java 8或更高版本,您可以将
Car
对象添加到列表中,并使用streams获取
carNames
列表:

List<Car> myCarList = Arrays.asList( new Car("Rav4", 2017), new Car("Commodore", 2005));
List<String> carNames = myCarList.stream()
                                 .map(Car::getName)
                                 .collect(Collectors.toList());
List myCarList=Arrays.asList(新车(“Rav4”,2017),新车(“Commodore”,2005));
List carNames=myCarList.stream()
.map(汽车::getName)
.collect(Collectors.toList());

您可以使用
addAll
。示例代码中不清楚您想做什么,您有许多单独的对象要添加到列表中,对吗?或者它们之间存在某种联系?你可以使用
ArrayList
,如果你只想知道名字,就使用@Eritrean给出的答案。因此OP应该将这些对象添加到一个列表中,以便能够将它们添加到另一个列表中?@JoakimDanielson有时上帝的方式是难以理解的。java的方式也是如此。只是开玩笑。我认为一辆
汽车
对象通常有几个字段。如果他在一个列表中有整个对象,他可以将其映射到任何属性,例如
Car::getMake
Car::getManufacturer
Car::getId
等等。这不是我评论的重点,为什么要创建两个列表,而不是直接创建一个?您的解决方案没有任何好处,您可以只做
List carNames=Arrays.asList(“Rav4”,“Commodore”)