如何显示数组列表中的所有元素?
假设我有一个带有属性 make
和 registration
的汽车类,我创建了一个 ArrayList 来存储它们。 如何显示ArrayList中的所有元素?
我现在有这个代码:
public Car getAll()
{
for(int i = 0; i < cars.size(); i++) //cars name of arraylist
{
Car car = cars.get(i);
{
return cars.get (i);
}
}
return null;
}
它编译得很好,但是当我使用这个代码在我的测试器类中尝试它时:
private static void getAll(Car c1)
{
ArrayList <Car> cars = c1.getAll(); // error incompatible type
for(Car item : cars)
{
System.out.println(item.getMake()
+ " "
+ item.getReg()
);
}
}
我收到不兼容类型的错误。 我的编码正确吗? 如果没有,有人可以告诉我应该如何吗?
谢谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
你想做这样的东西吗?
然后调用它:
Are you trying to make something like this?
And then calling it:
您收到错误是因为 Car 类中的 getAll 函数返回单个 Car 并且您希望将其分配到数组中。
这确实不清楚,您可能需要发布更多代码。 为什么要向该函数传递一个 Car ? 在 Car 上调用 getAll 是什么意思?
You are getting an error because your getAll function in the Car class returns a single Car and you want to assign it into an array.
It's really not clear and you may want to post more code. why are you passing a single Car to the function? What is the meaning of calling getAll on a Car.
根本不清楚你在做什么。 您的函数 getAll() 应该返回一个 List,而不是 Car。 否则,为什么叫它 getAll 呢?
如果您有
并且想要一个列表,您可以简单地执行以下操作:
数组已记录 这里。
It's not at all clear what you're up to. Your function getAll() should return a List<Car>, not a Car. Otherwise, why call it getAll?
If you have
and want a List, you can simply do this:
Arrays is documented Here.
切线: String.format() 岩石:
Tangential: String.format() rocks:
您的
getAll()
方法未获取全部内容。 它返回第一辆车。return
语句终止循环。Your
getAll()
method does not get all. It returns the first car.The
return
statement terminates the loop.另一种方法是向
Car
类添加一个toString()
方法,并让 ArrayList 的toString()
方法完成所有工作。您不会在输出中每行得到一辆车,但如果您只想查看数组中的内容,那么它会快速而简单。
输出将是这样的:
Another approach is to add a
toString()
method to yourCar
class and just let thetoString()
method of ArrayList do all the work.You don't get one car per line in the output, but it is quick and easy if you just want to see what is in the array.
Output would be something like this:
设置为每个循环获取所有值
Set for each loop to get all values
您好,抱歉,第二个代码应该是:
private static void getAll(CarList c1)
我有一个名为 CarList 的类,
CarList
其中包含 arraylist 及其方法,因此在测试器类中,我基本上有以下代码来使用该 CarList 类:
c1;
c1 = new CarList();
其他一切都有效,例如添加和删除汽车以及显示单个汽车,我只需要一个代码来显示数组列表中的所有汽车。
Hi sorry the code for the second one should be:
private static void getAll(CarList c1)
{
}
I have a class called CarList which contains the arraylist and its method, so in the tester class, i have basically this code to use that CarList class:
CarList c1;
c1 = new CarList();
everything else works, such as adding and removing cars and displaying an inidividual car, i just need a code to display all cars in the arraylist.
Arraylist使用Iterator接口来遍历元素
使用这个
Arraylist uses Iterator interface to traverse the elements
Use this
您可以使用 arraylistname.clone()
You can use
arraylistname.clone()