亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有一種可能擴展int到long呢?

有沒有一種可能擴展int到long呢?

莫回無 2023-04-04 10:06:01
java 默認的靜態數組array長度是int類型e.g.int size = blah blah;int[] array = new int[size];出于效率的需要現在我需要將多維數組壓縮成一維數組存儲 而int類型的正數范圍只有 0 ~ 2^31-1 也就是意味著我的array的大小只能到2^31
查看完整描述

2 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

如果說2^23都不夠你用的話,建議你還是用多個數組,自己來管理不同的數組

查看完整回答
反對 回復 2023-04-07
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

首先,針對你的問題給出答案:完全可以參考一下java.util.ArrayList的源碼,自己包裝一個不定長的一維數組,只不過這個抽象的一維數組里面是有多個一維數組構成,不過這種的方式的效率一般比多維數組低。

其次,對于你所說的

出于效率的需要現在我需要將多維數組壓縮成一維數組存儲

我持不同看法。首先,多維數組的內存存儲也是連續的,訪問效率跟一維數組相比,沒你想的那么低,而且語言內置的多維數組尋址都會經過優化;再次,對于int類型長度還不夠滿足你的要求的,你自己可以算一下內存大小4Byte * 2^31 = 2^23(kB) = 2^13(MB)=8(GB),這樣大的一個數組放在內存里面,你該考慮的不是你所說的問題,而是你的程序算法設計的問題了。


查看完整回答
反對 回復 2023-04-07
  • 2 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號