Java List对象 toString打印
在Java中,List
是一个常用的集合类,用于存储一系列有序的元素。当我们需要将List
对象的内容以字符串的形式打印出来时,通常会使用toString()
方法。本文将详细介绍如何使用toString()
方法打印List
对象,并提供一些代码示例。
List接口和实现类
在Java中,List
是一个接口,它扩展了Collection
接口。List
接口定义了一些用于操作列表的方法,如添加、删除、获取元素等。List
接口有多个实现类,如ArrayList
、LinkedList
、Vector
等。这些实现类提供了不同的性能特点和功能。
toString()方法
List
接口继承了Collection
接口的toString()
方法。toString()
方法返回一个表示集合内容的字符串。对于List
对象,toString()
方法会按照元素的顺序,将元素值连接成一个字符串,并用方括号[]
包围。
代码示例
以下是一个使用ArrayList
实现List
接口,并使用toString()
方法打印列表内容的示例:
import java.util.ArrayList;
import java.util.List;
public class ListToStringExample {
public static void main(String[] args) {
// 创建一个ArrayList对象
List<String> list = new ArrayList<>();
// 向列表中添加元素
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 使用toString()方法打印列表内容
System.out.println(list.toString());
}
}
输出结果:
[Apple, Banana, Cherry]
定制化打印
如果你希望以不同的格式打印List
对象,可以通过重写toString()
方法实现。以下是一个重写toString()
方法的示例:
import java.util.ArrayList;
import java.util.List;
public class CustomListToStringExample {
public static void main(String[] args) {
// 创建一个自定义的ArrayList对象
CustomArrayList<String> list = new CustomArrayList<>();
// 向列表中添加元素
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 使用toString()方法打印列表内容
System.out.println(list.toString());
}
}
class CustomArrayList<E> extends ArrayList<E> {
@Override
public String toString() {
StringBuilder sb = new StringBuilder("[");
for (int i = 0; i < size(); i++) {
sb.append(get(i));
if (i < size() - 1) {
sb.append(", ");
}
}
sb.append("]");
return sb.toString();
}
}
输出结果:
[Apple, Banana, Cherry]
关系图
以下是List
接口和其实现类之间的关系图:
erDiagram
LIST ||--o| ARRAY_LIST
LIST ||--o| LINKED_LIST
LIST ||--o| VECTOR
LIST {
int size()
boolean isEmpty()
boolean contains(Object o)
Iterator<E> iterator()
Object[] toArray()
<E> toArray(<E> a)
}
ARRAY_LIST {
int size()
void add(E e)
E get(int index)
}
LINKED_LIST {
int size()
void add(E e)
E get(int index)
}
VECTOR {
int size()
void add(E e)
E get(int index)
}
结语
通过本文的介绍,你已经了解了如何在Java中使用toString()
方法打印List
对象。你可以根据需要选择不同的实现类,或者重写toString()
方法以实现定制化的打印格式。希望本文对你有所帮助!