A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周斌 中级黑马   /  2012-7-29 03:46  /  2038 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 周斌 于 2012-11-7 12:10 编辑

学二维数组的时候
我明白了二维数组是一组对一维数组的引用
也就是说每一个二维数组的元素分别指向了一个一维数组
那我就想到了
如果我创建一个一维数组数组
把它的元素类型定义为二维数组类型
是不是这个一维数组就能存放二维数组的引用
那如果可以的话,是不是就实现了多为数组啊
反正我知道游戏里面用到多维数组的地方不少
一般都通过逻辑实现多维
就是把二维的数组分层处理
然后再分组处理
然后再分块处理
如果我上面的想法成立的话,是不是就可以直接定义一个多维数组来处理这些数据啊
刚接触java不久,很多东西还不了解
希望大神指点指点。
谢了先。

5 个回复

倒序浏览
吆,好巧。
哥们自己奋斗那,呵呵。
想法不错
自己动手实现一下
试一试不就知道了么
就你那两双手
白瞎你这个脑子了
多动手敲敲代码对你没害处
继续努力哈。。。
回复 使用道具 举报
本帖最后由 陈汉维 于 2012-7-29 09:55 编辑

一维数组里面要存储二维数组的内存地址,这,貌似好像不行吧?- -!

还真不能存储二维数组的内存地址。
--------------------------------------------------------------------------------以上是错的,大家不要和我一样犯这样的错误
- -!定义一个上帝的数组,还真能存二维数组的内存地址
回复 使用道具 举报
陈汉维 发表于 2012-7-29 09:00
一维数组里面要存储二维数组的内存地址,这,貌似好像不行吧?- -!

还真不能存储二维数组的内存地址。 ...

你敢不敢把把
  1. int[] srt = {a};
复制代码
改成
  1. Object[] str = {a};
复制代码
定义了一个int类型的数据,里面存地址 怎么可能编译过呢!
回复 使用道具 举报
随意写了一下!希望对你有用!

  1. int[][] a = new int[4][4];
  2.                
  3. for(int i = 0 ;i < 4 ; i ++){
  4.         for(int j = 0 ; j < 4 ;j++)
  5.                 a[i][j] = 1;
  6. }
  7.        
  8. Object[] str = {a};
  9. System.out.println(((int[][])str[0])[0][0]);
复制代码
回复 使用道具 举报
杨志 发表于 2012-7-29 09:38
你敢不敢把把改成定义了一个int类型的数据,里面存地址 怎么可能编译过呢! ...

谢谢,学习了。嘿以后就不会再犯这个错误。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马