首页 > 编程语言 >【剑指offer知识点】Java中数组、字符串的长度获取区别 length、length()、size()

【剑指offer知识点】Java中数组、字符串的长度获取区别 length、length()、size()

时间:2023-01-17 11:37:15浏览次数:49  
标签:知识点 Java String 元素 length Collections 数组 size


[1] 结论

  Collections家族类使用:size()
  字符串类型使用:length()
  普通数组类型使用:length

[2] 整体理解

  ·数组的​​length​​​字段用于表示数组的最大容量。最大容量是指可以存储在其中的最大元素数。此字段不考虑数组中存在的元素数量并保持不变。
  ·字符串的​​​length()​​​方法用于表示字符串中出现的字符数。
  ·​​​Collections Framework​​​的​​size()​​​方法用于查看该集合中当前存在的元素数量。​​Collections​​​具有动态大小,因此​​size()​​的返回值可能会有所不同。

[3] 细致理解

[3.1] 数组的length

  在Java中,数组以有序的方式存储固定数量的相同类型的数据。Java 中的所有数组都有一个长度字段,用于存储为该数组的元素分配的空间。它是一个常数值,用于找出数组的最大容量。

  该字段不会为我们提供数组中存在的元素数,而是可以存储的最大元素数(无论元素是否存在)。

[3.2] String类的length()

  String类是封装的char[]数组,String源码简化如下:

public final class String implements Serializable, Comparable<String>, CharSequence {
private final char[] value;
public int length() {
return this.value.length;
}
}

  由于String类是封装的char[]数组,length() 方法返回的正是字符数组 value 的长度(length),value 本身是 private 的,因此很有必要为 String 类提供一个 public 级别的方法来供外部访问字符的长度。

[3.3] Collections家族类的size()

  ​​size()​​​是​​java.util.Collections​​​类的一个方法。​​Collections​​​类被许多不同的集合(或数据结构)使用,例如​​ArrayList​​​、​​LinkedList​​​、​​HashSet​​​和​​HashMap​​。

  ​​size()​​​方法返回集合中当前存在的元素数。与数组的​​length​​​属性不同,​​size()​​方法返回的值不是常数,而是根据元素的数量而变化。

  Java 中​​Collection Framework​​的所有集合都是动态分配的,因此元素的数量可能会有所不同。size() 方法用于跟踪元素的数量。

  Collections家族类如下:

【剑指offer知识点】Java中数组、字符串的长度获取区别 length、length()、size()_数组


标签:知识点,Java,String,元素,length,Collections,数组,size
From: https://blog.51cto.com/u_15942590/6012007

相关文章

  • 【剑指offer知识点】Java中无符号整型、如何与int/long类型互相转化
    [1]结论  Java中没有无符号数据类型(它就是这样设计的,我没查到为什么),​​byte​​​,​​short​​​,​​int​​​和​​long​​都是有符号数据类型。当我们逻辑上说一......
  • 【剑指offer知识点】Java中位运算的5个常用技巧函数
    [1]总览  以下是可以提高代码逼格,而且比较好记的5个位运算技巧目录:  1、整数n乘以2  2、整数n乘以2的m次方  3、判断数字n的奇偶  4、不用临时变量交换整数n与......
  • java时间格式24小时制12小时制
    Calendar类也可方便的区分24和12小时机制Calendardate=Calendar.getInstance();date.get(Calendar.HOUR_OF_DAY);//得到24小时机制的date.get(Calendar.HOUR);//得到......
  • 如何使用Java异步编程(多线程CompletableFuture)
    1、创建异步线程任务根据supplier创建CompletableFuture任务//使用内置线程ForkJoinPool.commonPool(),根据supplier构建执行任务publicstatic<U>CompletableFuture......
  • Java 8 中 List 转 int[]
    原文地址:List(或ArrayList)转换为int[]数组终于搞懂了importjava.util.ArrayList;importjava.util.List;//list转为数组publicclassMain{publicstaticv......
  • Java进阶路线
    阶段一计算机基础Java入门学习 Day2:注释、标识符、关键字/数据类型/类型转换/变量常量/运算符/包机制、JavaDoc/2023-1-12Java基础语法 Day3:Scan......
  • java static 静态变量
    目录视频链接javastaticstatic基础static修饰方法的应用场景工具类工具类实例javastatic应用注意事项null视频链接静态变量:https://www.bilibili.com/video/BV17F411T......
  • Java项目笔记
    使用lombok成员方法输出日志@SpringBootApplication@Slf4jpublicclassReggieTakeOutApplication{publicstaticvoidmain(String[]args){SpringA......
  • 前端知识点整理第七天(【js】indexof/【js】 iframe有什么优点、缺点)
    'helloworld'.indexOf('')//返回0'helloworld'.indexOf('',0)//返回0'helloworld'.indexOf('',3)//返回3'helloworld'.indexOf('',8)//返回8'hell......
  • Java实现字符串和零宽字符之间的相互转换
    如题,上网找了一圈发现都是用JavaScript实现的,只好自己将JavaScript实现的代码转为Java代码实现://String->零宽字符publicstaticStringstrToZeroWidth(Stringstr){......