欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

ArrayList和多维数组,ArrayList多维数组

来源: javaer 分享于  点击 37741 次 点评:88

ArrayList和多维数组,ArrayList多维数组


MSDN里说:不支持将多维数组用作 ArrayList 集合中的元素。

可是自己试了一下是可以的,包括多维数组和锯齿数组

 

            ArrayList a = new ArrayList();

            // ArrayList集合接受null作为元素,并且支持重复元素.

            a.Add(null);

            //嵌套数组Array of Array,又叫锯齿数组(Jagged Array),子数组可以不一样长.元素无法被直接访问

            int[][] matrix = new int[2][];

            matrix[0] = new int[2];

            matrix[1] = new int[3];

            a.Add(matrix);

            //多维数组Multi-Dimensional Array维度长度固定

            int[,] m = new int[2, 2];

            a.Add(m);

 

            for (int i = 0; i < a.Count; i++)

            {

                if (a[i] == null) continue;

                int[][] item = a[i] as int[][];

                if (item != null)

                {

 

                    for (int j = 0; j < item.Length; j++)

                    {

                        for (int k = 0; k < item[j].Length; k++)

                        {

                            Console.Write(item[j][k]);

                        }

                        Console.WriteLine();

                    }

                }

                else

                {

                    int[,] item2 = a[i] as int[,];

                    for (int j = 0; j < 2; j++)

                    {

                        for (int k = 0; k < 2; k++)

                        {

                            Console.Write(item2[j, k]);

                        }

                        Console.WriteLine();

                    }

                }

 

关于多维数组和嵌套数组的效率问题,有人研究了JIT编译的MSIL指令并做了测试之后,得出嵌套数组其实比多维数组效率高的结论.

http://www.winu.cn/space-14160-do-blog-id-74839.html

 

相关文章

    暂无相关文章

用户点评