【发布时间】:2017-02-14 15:05:18
【问题描述】:
我了解到,当我们从 ArrayList 中删除 Object 时,它的大小不会减小。
我尝试了下面的代码来测试这个,但发现大小减小了。谁能纠正或向我解释一下?
package collections;
import java.util.ArrayList;
import java.util.List;
public class ArrayListExample {
public static void main(String[] args) {
//Creating list of Books
List<Book> list=new ArrayList<Book>();
//Creating Books
Book b1=new Book(101,"Let us C","Yashwant Kanetkar","BPB",8);
Book b2=new Book(102,"Data Communications & Networking","Forouzan","Mc Graw Hill",4);
Book b3=new Book(103,"Operating System","Galvin","Wiley",6);
//Adding Books to list
list.clear();
list.add(b1);
list.add(b2);
list.add(b3);
list.contains(b3);
int size= list.size();
System.out.println(size);
list.remove(b3);
int size1= list.size();
System.out.println(size1);
}
}
【问题讨论】:
-
我读到,当我们从 Arraylist 中删除一个对象时,它的大小并没有减小...你从哪里读到的?
-
你在哪里读到的?也许你读过一些关于数组而不是 ArrayLists 的东西?
-
也许底层存储不会减小它的大小(这将是一个实现细节),但
size方法将始终反映列表中包含的实际元素数量,如 javadocs 中所述.