如果数组元素是对象呢
时间: 2024-02-13 16:00:02 浏览: 74
对象和数组
如果数组元素是对象,可以使用`toArray(T[] a)`方法将LinkedList转换为对象数组。该方法可以接收一个指定类型的数组作为参数,如果该数组的长度小于链表的长度,则会创建一个新的数组。如果该数组的长度大于等于链表的长度,则会将链表元素拷贝到该数组中。示例代码如下:
```java
import java.util.LinkedList;
public class LinkedListToObjectArrayExample {
public static void main(String[] args) {
// 创建一个链表
LinkedList<Student> list = new LinkedList<>();
// 添加元素
list.add(new Student("Tom", 18));
list.add(new Student("Jerry", 20));
list.add(new Student("Alice", 22));
// 转换为对象数组
Student[] array = list.toArray(new Student[0]);
// 输出数组元素
for (Student student : array) {
System.out.println(student);
}
}
static class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
}
```
输出结果:
```
Student{name='Tom', age=18}
Student{name='Jerry', age=20}
Student{name='Alice', age=22}
```
需要注意的是,如果对象数组的长度小于链表的长度,那么会创建一个新的对象数组。如果对象数组的长度大于等于链表的长度,那么会将链表元素拷贝到该数组中,如果对象数组的长度大于链表的长度,则会将数组的剩余元素设置为null。
阅读全文