Kotlin simple convert ArrayList CopyOnWriteArrayList MutableList

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

猜你喜欢

转载自blog.csdn.net/zhangphil/article/details/132875150