ArrayList是一个通用的动态数组,它并不是一个类,而是一个类库。因此,我们无法直接将其视为一个单一责任原则的示例。
单一责任原则是面向对象设计原则的一部分,它要求一个类只负责一项职责。在这种情况下,我们可以考虑设计一个自定义的ArrayList类,以展示单一责任原则的实现。
下面是一个简单的示例,展示了如何实现一个只负责存储数据的ArrayList类:
import java.util.Arrays;
public class MyArrayList {
private Object[] data;
private int size;
private static final int DEFAULT_CAPACITY = 10;
public MyArrayList() {
data = new Object[DEFAULT_CAPACITY];
size = 0;
}
public void add(T element) {
ensureCapacity();
data[size++] = element;
}
public T get(int index) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException("Invalid index");
}
return (T) data[index];
}
public int size() {
return size;
}
private void ensureCapacity() {
if (size == data.length) {
int newCapacity = data.length * 2;
data = Arrays.copyOf(data, newCapacity);
}
}
}
在这个示例中,MyArrayList类只负责存储数据,并提供了添加元素、获取元素和获取列表大小的功能。该类遵循了单一责任原则,因为它只关注数据存储的职责,而不涉及其他功能。
请注意,这只是一个简单的示例,仅用于演示如何通过自定义类实现单一责任原则。实际上,在Java中的ArrayList类是一个更复杂和完整的实现,提供了许多其他功能和方法。
上一篇:ArrayList声明之间的区别