这两个数据 struct ArrayListVector之间有什么不同,您应该在哪里使用它们?

推荐答案

Differences

  • 向量是同步的,数组列表
  • 数据增长方法

如果没有使用向量的具体要求,请使用ArrayList.

Synchronization

如果多个线程同时访问一个ArrayList,那么我们必须从外部同步代码块,该代码块可以从 struct 上修改列表,也可以简单地修改一个元素. struct 修改是指从列表中添加或删除元素.设置现有图元的值不是 struct 修改.

Collections.synchronizedList通常在创建列表时使用,以避免对列表的意外非同步访问.

Data growth

在内部,ArrayList和Vector都使用数组保存其内容.将元素插入ArrayList或Vector时,如果对象空间不足,则需要扩展其内部array.A Vector defaults to doubling the size of its array, while the ArrayList increases its array size by 50 percent.

Java相关问答推荐

基于仅存在于父级中的字段查询子文档?

使用包私有构造函数强制子类Java类

使用联接和分页的SpringBoot Spring数据JPA

在模拟超类中设置非setter属性的值

滚动视图&不能在alert 对话框中工作(&Q;&Q;)

只需最少的代码更改即可将版本号标记添加到日志(log)

Spring Boot Maven包

无法了解Java线程所消耗的时间

Java:使用Class.cast()将对象转换为原始数组

JDK 21-为什么线程局部随机S nextInt不直接用Super.nextInt实现?

Java连接池无法正常工作

扩展视图高度,并将其拖动到较低的视图上,而不是将其向下推?

舰队运行配置Maven版本

寻找Thread.sky()方法的清晰度

在不使用instanceof或强制转换的情况下从父类变量调用子类方法

Java Flux中的延迟增加

在具有Quarkus Panache的PostgreSQL中将JSON数据存储为JSONB时,会将其存储为转义字符串

没有Google Play服务,Firebase Auth无法工作

Spring Mapstruct如何获取Lazy初始化实体字段的信息?

[Guice/MissingImplementation]:未绑定任何实现