1 java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.
2 java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.
3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!
这个例子来演示这两个方法和一个属性的用法
public static void main(String[] args) {
String []list={"ma","cao","yuan"};
String a="macaoyuan";
System.out.println(list.length);
System.out.println(a.length());
List<Object> array=new ArrayList();
array.add(a);
System.out.println(array.size());
}
输出的值为:
3
9
1
************************************************************************************************************************
有length()方法的类里没size()方法,反之亦然。
一个规律被我找到了。
我感觉数组之所以用“length”属性,是因为数组是顺序存储的线性表,里面的对象按先后顺序排成一条线,所以是“长度”。数组下标即该对象的序号(它应该是个相对地址),指定了对象的位置,故存取时按序号就能直接找到对象来操作。
而容器更感觉是个箱子,往里面加(add)对象,所以是“大小”(size)。给每个对象按进容器的顺序编个号,编号并不指定位置(它应该是个指针),故存取时不能将编号以下标形式直接查找,而只能用get方法,获取相应编号的对象;
而迭代器就是把箱子里的对象按编号排好,使与存储位置无关的编号成为指定位置的序号,把容器化为数组。
PS:这仅仅是个加快记忆的比喻和一些猜想,涉及的机制不敢说完全正确。
PS:这仅仅是个加快记忆的比喻和一些猜想,涉及的机制不敢说完全正确。