数组与java的数组[]

时间:2011-09-08 03:49:17

标签: java

我正在编写一个程序,它将严重依赖于某些东西......它存储数据,就像数组一样,我可以在任何给定的时间访问数据的任何一点,就像我在数组中一样。 / p>

我知道java库有一个我可以使用的Array类,或者我可以使用raw array []。

我希望使用Array类型更容易编码,但我希望它的效率稍差。

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

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

Array类用于Java 反射,非常非常少用。

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

答案 2 :(得分:2)

  

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

这取决于你想要达到的目标:

  • 如果提前知道数组中的元素数,那么数组类型是合适的。如果没有,List类型(至少)更方便使用。

  • List界面提供了多种方法,例如containsinsertremove等等,可以节省您的编码...如果您需要做那样的事情。

  • 如果使用得当,数组类型将占用更少的空间。对于使用List表示元素需要使用包装类型表示(例如byte变为Byte)的原始类型数组,差异尤为显着。


Array类在此上下文中没有用,Arrays类也没有用。选择在ArrayList(或其他一些List实现类)和原始数组之间。

答案 3 :(得分:-2)

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

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

您可以将HashMap声明为:

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

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