有沒有辦法獲得大小超過max int的java.util.Queue的大小,而無需構建一個包裝呢?任何其他圖書館可能是?如何判斷隊列大小是否大於最大整數?
回答
我認爲這應該工作
long size = 0;
for(Iterator i = queue.iterator(); i.hasNext(); i.next()) {
size++;
}
return size > Integer.MAX_VALUE;
從技術上講,我不認爲你可以,至少不需要修改隊列。
從集合繼承的size
方法將返回maxint,如果有更多的元素比它,但它也會返回,如果有正好那許多元素。
因此,除了提取元素並查看大小是否發生變化之外,沒有其他辦法。
這並不能阻止你創建自己的隊列(使用long
大小),如果它真的很重要。
但是,在我漫長的職業生涯中,我發現很少有這樣的情況 - 隊員們可能想要重新考慮你在做什麼,他們可能是更好的選擇。
嗯..我認爲這對我來說應該足夠好。 你碰巧知道任何其他類型的集合嗎? – mindreader 2014-11-22 02:21:37
我在單元測試中使用它來檢查收集的數據量。如果它返回的最大尺寸大於此值,我認爲這應該解決我的目的。謝謝。 – mindreader 2014-11-22 02:28:51
理論上是。您可以使用討厭的反射來破壞抽象並在隊列的實現數據結構中進行挖掘。但這是一個非常糟糕的主意。
如果你真的需要這樣大小的隊列,那麼你幾乎肯定需要一個自定義隊列類。此時,您可以輕鬆地在您的API中包含自定義獲取器來檢索64位隊列大小。
1 - 通過簡單的數組支持的隊列將不能夠支持更多的是2^31 - 1層的元件,並且一個鏈接的隊列與該數目的元件是要浪費的存儲器許多千兆字節......更不用說引起GC的重大消化不良了。
這很有道理..謝謝! – mindreader 2014-11-22 02:26:32
- 1. 最大陣列大小是否等於RAM大小?
- 2. 是否可以使用AMQP聲明最大隊列大小?
- 3. 演員隊列的最大大小?
- 4. opencv調整大小函數是否存在最大數組大小限制?
- 5. 隊列數組實現調整大小
- 6. 如何判斷jQuery版本是否大於1.7?
- 7. MSMQ隊列大小是否有限制?
- 8. 如何判斷C中最小單元的大小?
- 9. iOS:如何判斷UILabel的字體是否已被自動調整大小?
- 10. 表是否大於文件系統的最大文件大小?
- 11. Redis - 數據大小是否可以大於內存大小?
- 12. DataGridView自動調整大小,但限制最大列大小
- 13. Bootstrap - 是否可以根據列大小調整圖像大小?
- 14. 負隊列大小
- 15. Resque隊列大小
- 16. 最大併發線程數小於最大線程池大小
- 17. 是否有MongoDB最大bson大小?
- 18. 是否有最大的android.os.Message.obj大小?
- 19. 調整大陣列大小
- 20. 如何判斷Django運行的項目大小大於默認的memcached?
- 21. 如何調整JFrame相對於最大尺寸的大小
- 22. 最小的整數大於非常大的數
- 23. 如何截斷大小大於5231MB的postgresql中的大表?
- 24. 隊列調整大小的方法
- 25. 檢索最大列大小
- 26. 如何調整數據網格視圖的大小列大小
- 27. 判斷vm殺死進程的大小是否有oom-killer
- 28. 設置最大。大小,最大整型數和最大字符串長度
- 29. 「行大於最大允許大小」
- 30. 如何檢查文件大小是否超過最大文件大小批量
你的意思'java.util.Queue'? – 2014-11-22 02:12:07
是........... – mindreader 2014-11-22 02:17:23