美文网首页
集合类随笔

集合类随笔

作者: 我是许仙 | 来源:发表于2020-09-24 11:28 被阅读0次

Vector

跟ArryList一样,只不过他的所有方法都被 syn关键子包裹了,使得它是线程安全的但是严重影响性能已经被弃用了

使集合变成只读

public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<>();
    list.add("1");
    Collection<String> listUnEdit = Collections.unmodifiableCollection(list);
    listUnEdit.add("te");
}

抛出异常

Exception in thread "main" java.lang.UnsupportedOperationException
    at java.util.Collections$UnmodifiableCollection.add(Collections.java:1055)
    at com.javaDemo.collection.TestDemo.main(TestDemo.java:19)

如果集合类遇到线程安全问题怎么办

  1. 可以通过 Collections.synchronized()方法把一个线程不安全的集合转换成线程安全的集合

    public class SynCollectionDemo {
    
        private static ArrayList list = new ArrayList();
    
        public static void main(String[] args) {
            //把一个线程补权限的集合类转换成线程安全的类
            List synchronizedList = Collections.synchronizedList(list);
        }
    

    内部实现也跟Vector一样都是在方法上添加syn关键字

  2. 可以通过juc提供的锁,在内部操作数据的时候进行加锁处理

相关文章

  • 集合类随笔

    Vector 跟ArryList一样,只不过他的所有方法都被 syn关键子包裹了,使得它是线程安全的但是严重影响性...

  • Java集合

    集合概述 •Java提供集合类,集合类主要负责保存、盛装其他数据,因此集合类也被称为容器类。所有集合类都位于jav...

  • 14. 集合类

    1. Kotlin的集合类 Kotlin的集合类分为可变集合类和不可变集合类 2. 常用的三种集合类 主要有三种:...

  • Java 容器 - 一文详解HashMap

    Map 类集合 Java Map类集合,与Collections类集合存在很大不同。它是与Collection 类...

  • Collection 集合类

    Collection 集合类 java.util包中提供了一些集合类,这些集合类又称为容器;集合类和数组的区别在于...

  • Java集合类-集合类图谱

    数据结构在计算机知识体系中的重要性无需赘言,Java的jdk的集合类正是学习数据结构的很好素材。如果能把jdk的集...

  • 第10章 集合类与泛型 《Kotin 编程思想·实战》

    第10章 集合类与泛型 10.1 Kotlin集合类10.1.1 不可变集合类10.1.1.1 List10.1....

  • 那些年我们追过的Java面试之集合类、异常处理

    标签:Java面试、集合类、异常处理 2017/05/09 09:36 三.Java集合类 10.Java集合类框...

  • 函数的定义和调用

    3.1 创建集合 kotlin没有采用自己的集合类,而是采用的标准的java集合类。在java集合类的基础上新增了...

  • Java集合类总结

    Java集合类 1.简介: java集合类包含在java.util包下集合类存放的是对象的引用,而非对象本身。集合...

网友评论

      本文标题:集合类随笔

      本文链接:https://www.haomeiwen.com/subject/gxyzyktx.html