Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java的数组vs数组[]_Java - Fatal编程技术网

java的数组vs数组[]

java的数组vs数组[],java,Java,我正在写一个程序,将严重依赖于。。。某物它像一个数组一样存储数据,在这个数组中,我可以像在数组中一样在任何给定的时间访问任何数据点 我知道java库有一个数组类,我可以使用它,也可以使用原始数组[] 我希望使用数组类型更容易编码,但我也希望它的效率稍低一些 我的问题是,在这两者之间使用哪个更好,有没有更好的方法来实现相同的结果?实际上Array没有任何帮助——这不是你所认为的。另一方面,类java.util.ArrayList,则是。一般来说,如果您可以使用像ArrayList这样的集合类进行编

我正在写一个程序,将严重依赖于。。。某物它像一个数组一样存储数据,在这个数组中,我可以像在数组中一样在任何给定的时间访问任何数据点

我知道java库有一个数组类,我可以使用它,也可以使用原始数组[]

我希望使用数组类型更容易编码,但我也希望它的效率稍低一些


我的问题是,在这两者之间使用哪个更好,有没有更好的方法来实现相同的结果?

实际上
Array
没有任何帮助——这不是你所认为的。另一方面,类
java.util.ArrayList
,则是。一般来说,如果您可以使用像
ArrayList
这样的集合类进行编程,那么您将更容易获得更易于阅读的正确、灵活的软件。“如果”几乎一直适用;原始数组是您作为最后手段使用的,或者更常见的情况是,当您要调用的方法需要一个作为参数时。

类用于Java反射,并且非常、非常、很少使用

如果要在数组中存储数据,请使用普通的旧数组,用
[]
表示,或者正如Gabe对该问题的评论所建议的那样,
java.util.ArrayList
ArrayList
是,正如您的评论所显示的那样,更容易编码(当涉及到添加和删除元素时!!),但是是的,效率稍低一些。对于可变大小的集合,
ArrayList
几乎是必需的

我的问题是,在这两者之间使用哪个更好,有没有更好的方法来实现相同的结果

这取决于您试图实现的目标:

  • 如果数组中的元素数提前知道,那么数组类型是一个很好的选择。如果不是,则
    列表
    类型(至少)更便于使用

  • 列表
    界面提供了许多方法,如
    包含
    插入
    删除
    等,可以节省您的编码时间。。。如果你需要做那种事

  • 如果使用得当,数组类型将使用更少的空间。对于基本类型的数组来说,这种差异尤其显著,其中使用
    列表
    意味着需要使用包装类型来表示元素(例如
    字节
    变成
    字节



Array
类在此上下文中不可用,
Array
类也不可用。可以在
ArrayList
(或其他一些
List
实现类)和基元数组之间进行选择

就易用性而言,Array类更容易编码。 就您需要知道的情况而言,数组[]是一个相当大的问题 对象列表的大小

相反,您可以使用HashMap。它在搜索和排序方面都非常有效 整个过程都是按照关键值进行的

您可以将HashMap声明为:

HashMap<String, Object> map = new HashMap<String, Object>();
HashMap map=newhashmap();

对于对象,您可以使用类,对于键,您可以使用需要唯一的值。

您到底想做什么?你知道预先存储了多少个元素吗?你真的是指
数组
,还是指
数组列表
?你指的是
数组
?这只是一个实用类。@Gabe+1从它的发音来看
ArrayList
可能就是它的意思。我确实是指Array,但我对它的用法有误解。ArrayList是我应该说的。谢谢,ArrayList是我想要的,这回答了我的问题。为什么它被否决了?询问者没有要求另一种方法吗?-1“数组类更容易编码”-
Array
是一个实用类,它是由OP-means
ArrayList
建立的。另外,
HashMap
提供OP不需要的功能,不再像数组或
列表那样排序。