java中length,length(),size()区别


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:这仅仅是个加快记忆的比喻和一些猜想,涉及的机制不敢说完全正确。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值