Kotlin simple convert ArrayList CopyOnWriteArrayList MutableList
Kotlin读写分离CopyOnWriteArrayList_zhangphil的博客-CSDN博客Java并发多线程环境中,造成死锁的最简单的场景是:多线程中的一个线程T_A持有锁L1并且申请试图获得锁L2,而多线程中另外一个线程T_B持有锁L2并且试图申请获得锁L1。线程的锁申请操作是阻塞的,于是造成线程T_A和线程T_B无法正确获得想要的锁,两个线程被阻塞进入死锁状态。Java并发多线程环境中,造成死锁的最简单的场景是:多线程中的一个线程T_A持有锁L1并且申请试图获得锁L2,而多线程中另外一个线程T_B持有锁L2并且试图申请获得锁L1。此方法返回一个线程容量为n的线程池。读时候快,写/删/改慢。https://blog.csdn.net/zhangphil/article/details/132165957
import java.util.concurrent.CopyOnWriteArrayList
fun main(args: Array<String>) {
val mArrayList = ArrayList<String>()
repeat(10) {
mArrayList.add("$it")
}
println("1 $mArrayList")
//ArrayList to CopyOnWriteArrayList
val mCopyOnWriteArrayList = CopyOnWriteArrayList<String>()
mCopyOnWriteArrayList.addAll(mArrayList)
println("2 $mCopyOnWriteArrayList")
//CopyOnWriteArrayList to MutableList
val list = mCopyOnWriteArrayList.toMutableList()
println("3 $list")
//CopyOnWriteArrayList to ArrayList
val arrayList: ArrayList<String> = mCopyOnWriteArrayList.toMutableList() as ArrayList
println("4 $arrayList")
}
1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
3 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
4 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
kotlin mutableListOf Collection-CSDN博客Java for循环删除ArrayList重复元素陷阱,Iterator迭代器遍历删除重复元素这是一个一不留神就犯下错误的Java列表ArrayList重复删除元素陷阱,并且问题比较隐蔽。Java的Vector,Stack,ArrayList,LinkedList异同Collection的实现子类型是什么,它都支持iterator()函数,该函数返回一个迭代器,该迭代器即可遍历访问Collection中每一个元素。List是有序的Collection。和Set不同,List允许有相同元素。https://blog.csdn.net/zhangphil/article/details/131464487