【问题标题】:Why is the number of elements in a list referred to as "size" while the length of an array referred to as "length"? [closed]为什么列表中元素的数量称为“大小”,而数组的长度称为“长度”? [关闭]
【发布时间】:2017-04-17 07:30:42
【问题描述】:

为什么列表中的元素个数称为“大小”,而数组的长度称为“长度”?

package com.mycompany.javatest;

import java.util.*;

public class JavaTest {

    public static void main(String[] args) {

        List<String> stringList = new ArrayList<String>();
        stringList.add("one");
        stringList.add("two");
        stringList.add("three");
        System.out.println("Size of list is: " + stringList.size());

        String[] stringArray = {"one", "two", "three"};
        System.out.println("Length of array is: " + stringArray.length);
    }
}

【问题讨论】:

  • 不混合它们?除了 Oracle 架构师,我不相信你能得到真正的答案
  • 我首先想到的是,这些课程就是这样设计的,我没有理由对此提出质疑。
  • ArrayList 创建一个可变对象。所以要知道它的当前容量,size() 是一个合适的方法。而 String 创建一个容量固定的不可变对象,因此使用 length() 作为合适的方法。
  • @kiner_shah 为什么 length() 不适合可变对象?...反之亦然?

标签: java


【解决方案1】:

看看牛津词典中这两个词的定义:

大小:某物的相对范围;事物的整体尺寸或大小;有多大: “学校大小不一” “一片威尔士大小的森林”

长度:某物从END TO END的度量或范围;物体的两个维度或三个维度中的较大者: “三角洲长二十公里”

即使两者都可以理解为“某事的程度”,它们在度量方面也有所不同。长度测量某物的 END 到 END,这非常适合数组。 Size 衡量 List 的大小,List 有多大?

Lists 是动态的(它可以增长)而 Arrays 不是这一事实可以帮助您直观地了解 Array 的长度和 List 的大小。

问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 1970-01-01
    • 2018-01-20
    相关资源
    最近更新 更多