30/09/2018, 23:35
Phương thức capacity trong java
Anh/chị cho em hỏi, vì sao cái capacity sau 4 lần cộng nó lại là 5, em tưởng nó bằng 8, newcapacity = (old * 2) + 2
public static void main(String args[]) {
// capacity ban dau la 3, incr la 2
Vector v = new Vector(3, 2);
System.out.println("Size ban dau: " + v.size());
System.out.println("Capacity ban dau: " +
v.capacity());
v.addElement(new Integer(1));
v.addElement(new Integer(2));
v.addElement(new Integer(3));
v.addElement(new Integer(4));
System.out.println("Capacity sau 4 lan cong la: " + v.capacity());
}
Bài liên quan
Capacity là sức chứa không phải là tổng giá trị
Ban đầu tạo capacity bằng 3 thì nó cần lấp đầy khoảng đó rồi mới lại + 2 sau. 3 số đầu em không được tính.
Trong trường hợp này newcapacity phụ thuộc vào param 2
Nếu em khai báo với constructor mặc định không khai báo increment
Lúc này capacity mới tính theo công thức newcapacity = old * 2 khi nó chạm đến maximum
vâng. em cảm ơn anh !