Android 2维阵列和arraylist最佳实践?

时间:2012-08-06 13:10:11

标签: java android arrays arraylist

我想知道是否有人能回答我在编程时使用哪种更好的做法的相当无趣的问题。

我知道要制作一个二维数组,我可以使用:

ArrayList<ArrayList<String>> myArray = new ArrayList<ArrayList<String>>();

String[][] myArray2;

2 个答案:

答案 0 :(得分:8)

以您显示的方式使用ArrayList是完全正常的。但是,如果您确实需要在运行时增长和缩小阵列,请仅使用阵列列表。如果您不确定是否需要增大或缩小数组,那么继续使用ArrayList启动。如果你不需要数组是动态的,你应该使用String [] []。字符串[] []在分配后不能增大或缩小。

如果您的应用程序性能密集,我强烈建议尝试编写应用程序,以便使用String [] []。更重要的是,尽量避免大量的字符串操作,因为这会导致大量的分配(以及垃圾收集)。如果您可以使用CharBuffer [] [],则可以避免对象分配。但是,如果您正在编写一个简单的应用程序,并且应用程序分配的数量并不重要(从而最终导致垃圾收集),那么使用ArrayList可以更轻松地处理。

由于你认为自己是菜鸟,你可能想继续开始使用ArrayList,因为它更容易处理。

此外,这不是一个Android问题,只是一个Java问题。

答案 1 :(得分:0)

由于列表的大小会增加,如果您不确定,那么它们是最佳解决方案,您的二维数据结构将会有多大。如果您知道结构有多大,那么请使用普通数组,因此List对象导致的开销不会很大。

相关问题