在渲染函数中检查一定数量的字符串是否重复的最佳方法是什么 - 这意味着我不想在这里进行任何对象实例化?
背景: 我正在将字符串绘制到画布中,如:
public void render(Canvas canvas) {
while(stringSource.hasMoreStringsAvailable()) {
String st = stringSource.getNextString();
//Check String and draw only if it has not been drawn already.
}
使用HashSet会创建一个Map.Element - 每个对象的实例。 Android的Sparse-Array类看起来不错,但只接受int-keys。所以这两个都不适用于此。
信息: 源可以随时传递任何String。 可以使用最大数量的字符串。
以前的好方法是什么?有没有比基于String []创建自己的HashMap更好(尤其是更简单)的解决方案?
答案 0 :(得分:1)
Android已经有数组支持的Set
和Map
实施,称为ArraySet
和ArrayMap
。
这些实现使用的内存比HashSet
和HashMap
少得多。