sinat_26812289
易水寒灬
采纳率0%
2016-04-01 11:48 阅读 1.8k

能不能实现超过数组大小的数据存储并显示

比如定义10空间的数组,能否存11个数。用java能实现么。求教啊

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

7条回答 默认 最新

  • freedom_wings5 freedom_wings5 2016-04-01 12:27

    你的空间只有10个数,你是肯定不能存11个的。除非你把前面的空间删除了数据把新的写进去,又或者不够的时候再开新的空间出来

    点赞 评论 复制链接分享
  • pppploi8 pppploi8 2016-04-01 12:29

    不能
    java的话可以使用List集合,具体可以选择使用数组实现的ArrayList或者链表实现的LinkedList,如果不确定选择什么合适那么用ArrayList即可
    集合是可以动态增加长度的,你只需要一开始new一个集合出来,不需要设置长度,增加时候调用add方法即可,如果要取出当前集合里的长度用size方法即可

    至于数组是肯定不可以的,的确没这个功能,如果必须用数组,那么可以考虑申请一个比预期更大的数组,比如长度20,如果放满的话可以申请一个更大的数组(比如40),再把原来的数组复制到新数组,来强行模拟出ArrayList的效果(不过话说回来还是不如直接用List方便)

    点赞 评论 复制链接分享
  • qinjisheng_11 秦大圣 2016-04-01 15:50

    不能,java不允许这样,但是C语言可以,但是不建议这么做,会覆盖掉不知道存储什么东西的内存

    点赞 评论 复制链接分享
  • zhangshangui_2015 技术没有止境_2015 2016-04-02 01:06

    一般编程语言都不支持固定长度的数组存储超过其存储大小的数据,虽然有些语言支持变长度的数组,还有向arralisty\list<>\dictionary\hashtable这样的数据结构,但这是两回事。

    点赞 评论 复制链接分享
  • ErwinErwachsene ErwinErwachsene 2016-04-02 12:24

    溢出哗啦啦
    |・ω・`)

    点赞 评论 复制链接分享
  • ErwinErwachsene ErwinErwachsene 2016-04-06 15:16

    C++可以溢出,但我用dev试不出来,溢出会覆盖掉未知的内存,可以连续定义两个数组(存储空间会连在一起),先给第二个数组赋值,再给第一个数组赋一个溢出的值,然后连续输出两个数组,观察结果,就可以了。

    点赞 评论 复制链接分享
  • qq_35691619 风大了猪依旧飞不起来 2017-10-20 13:52

    你可以将前面的进行覆盖,但无法存储过多

    点赞 评论 复制链接分享

相关推荐