Collections Java集合中的Vector是如何工作的

Collections Java集合中的Vector是如何工作的,collections,vector,Collections,Vector,Java集合中的Vector是如何在内部工作的,以便它可以接受任何类型的对象,这是Java等面向对象语言中的一个关键思想,也是最重要的概念之一 Vector类型是s的集合,因为Java中的所有类都继承自Object,所以Vector可以接受任何类型的Object 向量的工作原理与列表相同。Vector唯一不同的it方法是同步的,而对于List,同步是程序员的责任。在内部,Vector只是将对象作为类型对象存储。因为所有对象都继承自对象,所以它可以存储所有对象 但是,诸如int和double之类的

Java集合中的Vector是如何在内部工作的,以便它可以接受任何类型的对象,这是Java等面向对象语言中的一个关键思想,也是最重要的概念之一


Vector类型是s的集合,因为Java中的所有类都继承自Object,所以Vector可以接受任何类型的Object

向量的工作原理与列表相同。Vector唯一不同的it方法是同步的,而对于List,同步是程序员的责任。

在内部,Vector只是将对象作为类型对象存储。因为所有对象都继承自对象,所以它可以存储所有对象

但是,诸如int和double之类的基元值不会从对象继承,因为它们不是对象。为了解决这些问题,Java将根据需要动态地将它们从原始值转换为对象。所以int 5将被转换为一个整数对象,保存5,而double 4.3将被转换为一个保存4.3的double对象。这就是所谓的自动装箱

Java还将为您自动执行相反的操作,从Integer转换为int。这被称为“非拳击”

所以它可以存储任何对象,但当您使用Vector编码时,您可以更具体。例如向量或向量。这种对向量内部存储内容的限制是使用“泛型”实现的,它允许您将类型作为参数传递给类。在这些示例中,参数是字符串和整数

然而,泛型仅在编译时强制执行;在运行时,Vector将继续在内部使用对象

这意味着当应用程序运行时,Vector和Vector之间没有区别。它们完全相同,事实上只有向量(没有向量或向量真正存在)。它们之间的区别完全是在编译时,即在应用程序运行之前,使用Vector时,只有当您只在其中存储字符串对象时,它才会编译

  • 向量的初始容量为10
  • 我们可以为Vector定义capacityincrement,如果不定义capacityincrement,那么Vector grow()将是双精度的
  • 所有方法都是同步的,因此线程安全性是存在的
  • 返回此向量的组件的枚举
  • 与ArrayList相比,性能较慢

  • 那根本不能回答他的问题。