转载请注明:https://blog.youkuaiyun.com/u012854870/article/details/94738588
Kotlin实现数据类:
data class TestBean(
var test: Int
)
Kotlin写法实现:
/**
* Created by pangli on 2019/7/5.
* 备注:循环之中移除集合元素
*/
fun main() {
val a = Stack<WeakReference<TestBean>>()
for (i in 1..5) {
val testBean = TestBean(i)
a.add(WeakReference(testBean))
}
val it = a.iterator()
while (it.hasNext()) {
it.next()
it.remove()
println(a)
}
}
Java写法实现:
/**
* Created by pangli on 2019/7/5.
* 备注:循环之中移除集合元素
*/
public class JavaTest {
public static void main(String[] args) {
Stack<WeakReference<TestBean>> a = new Stack<>();
for (int i = 0; i < 5; i++) {
a.add(new WeakReference<>(new TestBean(i)));
}
for (Iterator<WeakReference<TestBean>> it = a.iterator(); it.hasNext(); ) {
it.next();
it.remove();// 使用迭代器来进行安全的加锁操作
System.out.println(a);
}
}
}