![]() |
1
8
你可以使用
Apache commons-collections
’
|
![]() |
2
2
在我的问题中的用法:
|
![]() |
3
1
为什么不为正在使用的列表类型创建一个修饰符,该列表存储了每个枚举类型的计数列表,并在内部进行了添加/删除。这样,您可以将其用作普通列表,但也可以添加一些额外的功能来查询当前包含的类型。 您需要做的就是重写add/remove/add all等方法,并在将计数器传递到实际列表类型之前增加计数器的值。最好的一点是你可以用你的新包装来装饰任何列表类型。 |
![]() |
4
1
至少,实用方法如下:
您可以简要地参考代码中其他地方的播放站数量。或者,如果您知道列表不太可能更改,则构建一个
|
![]() |
5
1
如果您不想每次都迭代整个集合,另一种选择是编写一个 ForwardingList 实施。与hashbag建议相比,这项建议的主要好处是:
但是,这种方法有一个缺点,那就是您必须编写一些管道代码来启动和运行它。 下面是一个很快的例子,说明如何做到这一点。请注意,如果这样做,您应该覆盖从列表中添加/删除的所有方法,否则您可能会以不一致的状态结束:
|
![]() |
6
0
扩展java.util.list方法并重写所有的mutator方法,即用于添加或删除元素的方法,以及用于清除列表的方法。添加对private java.util.map的引用,该引用将保存每种类型的项数。添加访问器方法,该方法将返回每个类型的当前元素数。 |
![]() |
7
0
哈沙包(博佐的)似乎是你最好的选择。但一般来说 Googles Collections 2 使用适当的谓词:
|
![]() |
8
0
除了所有这些解决方案(我有一个缺点,收集。频率呼叫),我建议你看看 google collections ,尤其是[Collections2.Transform][2],它可以为您提供项目的实时视图。 〔2〕: http://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/Collections2.html#transform(java.util.Collection ,com.google.common.base.函数) |
![]() |
Dave · 如何在for循环中修改列表值 4 月前 |
![]() |
matteo panaro · 向列表中添加项目 5 月前 |
![]() |
Bioinfotec · 如何在R中将两个嵌套列表合并为一个列表? 5 月前 |
![]() |
Pernoctador · Python映射可以复制吗?我需要参考地图 6 月前 |
![]() |
Bogaso · 从列表中返回与模式匹配的元素 6 月前 |
![]() |
Tom Hunter · Excel验证列表中的条目 6 月前 |
![]() |
Estrobelai · Python:数组中价格高于平均值的所有项目 10 月前 |