我正在开发一个用Java编写的项目,它要求我构建一个非常大的2-D稀疏数组.非常稀疏,如果这有所不同.无论如何:这个应用程序最关键的方面是时间上的效率(假设内存负载,虽然不能无限制地允许我使用标准的2-D阵列 - 关键范围是两个维度的数十亿).
在阵列中的kajillion细胞中,将有数十万个细胞包含一个物体.我需要能够很快地修改单元格内容.
无论如何:有没有人为此目的知道一个特别好的图书馆?它必须是伯克利,LGPL或类似的许可证(没有GPL,因为该产品不能完全开源).或者,如果只有一种非常简单的方法来制作自制的稀疏数组对象,那也没关系.
我正在考虑MTJ,但没有听到任何关于其质量的意见.
我使用a实现了一个Bitmap缓存,HashMap<Integer, Bitmap>并在Eclipse中收到以下警告:
使用新的SparseArray(...)代替更好的性能.
我之前从未听过那个类,但检查它似乎没有一个containsKey()方法,我正在调用从缓存中检索Bitmap来检查它是否存在于缓存中,如果不存在,然后添加它.
有关检查密钥是否已存在的最佳方法的任何想法?
我想我可以更改代码以使用此重载并检查null?
Bitmap bitmap = cache.get(key, null);
Run Code Online (Sandbox Code Playgroud) 排序稀疏数组并将元素保留在相同索引上的最佳方法是什么?例如:
a[0] = 3,
a[1] = 2,
a[2] = 6,
a[7] = 4,
a[8] = 5,
Run Code Online (Sandbox Code Playgroud)
我想在那之后才有
a[0] = 2,
a[1] = 3,
a[2] = 4,
a[7] = 5,
a[8] = 6.
Run Code Online (Sandbox Code Playgroud) 我有以下情况:
var large = [a,b,c,d,e,f,g,h,i];
var small = [a2, b2, c2, null, null, null, null, null, null, i2];
Run Code Online (Sandbox Code Playgroud)
其中两个数组的每个元素都是一个对象.
小数组包含与较大数组相关的信息,但不是每个元素都large需要相关元素small,因此我将其设置为null.但是,我仍然需要保持索引相同,所以我可以做类似的事情large[16].id + ': ' + small[16].description.事实上,我有一个大多数null值的数组会导致内存使用量增加吗?
我的问题是我是否会做更好的事情small = [a2,b2,c2,i2],并在属性等设置索引a2.index = 0; b2.index = 1.
我也遇到过使用undefined的建议,有人甚至提到实现链接列表.我不认为我需要实现链表,因为我不经常添加或删除元素.
我可以使用以下命令创建稀疏的php数组(或map):
$myarray = array(10=>'hi','test20'=>'howdy');
Run Code Online (Sandbox Code Playgroud)
我想将其序列化/反序列化为JSON.我可以使用以下命令序列化它:
$json = json_encode($myarray);
Run Code Online (Sandbox Code Playgroud)
这导致了字符串{"10":"hi","test20":"howdy"}.但是,当我反序列化它并使用以下命令将其强制转换为数组时:
$mynewarray = (array)json_decode($json);
Run Code Online (Sandbox Code Playgroud)
我似乎失去了任何与无效的php标识符密钥的映射.也就是说,mynewarray具有映射'test20'=>'howdy',但不能10=>'hi'也不'10'=>'hi'.
有没有办法在使用标准json_encode/ json_decode函数转换为json和从json返回时保留php地图中的数字键?
(我使用的是PHP版本5.2.10-2ubuntu6.4.)
我有一个涉及非常稀疏的大型n维数组的应用程序.scipy.sparse有一个有用的'矢量化获取和设置'功能,因此可以使用Cython快速填充稀疏矩阵.
当然,scipy包不能处理n维.我发现有两个包在python sparray和.d中进行n维稀疏数组ndsparse.然而,它似乎既没有矢量化的获取和设置功能.
所以我需要:
为了我的目的,我认为将n维坐标映射回1或2维可能有效.更好的是有一个dict等价物,我可以在Cython循环内快速访问.我认为这排除了python dict.
想知道是否有人可以给我一个如何在Cython中使用c ++地图对象的例子?
我需要以某种方式在磁盘上存储512 ^ 3阵列,我目前正在使用HDF5.由于阵列稀疏,因此浪费了大量磁盘空间.
HDF5是否为稀疏阵列提供任何支持?
当配置更改发生时,我的ListView复选框状态会丢失,我理解为什么.我试着实施
public void onSaveInstanceState(final Bundle outState)
Run Code Online (Sandbox Code Playgroud)
在我的一个碎片中.所以我只是想知道在outState中存储SparseBooleanArray的最简单方法是什么.
另外,我有点困惑,因为ListView有方法:
getListView().getCheckedItemPositions();
Run Code Online (Sandbox Code Playgroud)
这有什么用?
我需要使用hashmap来存储我的Android应用程序中的键/值(可能有数千个),但我知道我应该使用SparseArray来节省内存.但是,我的密钥需要是一个字符串.有没有办法创建SparseArray或其他替代方案的自定义实现?
Java中是否存在用于稀疏位向量的任何着名库?
(并且有没有指导稀疏对于使用它们与java.util.BitSet有什么用?)