`
hezhigang
  • 浏览: 3159 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

CopyOnWriteArrayList的排序

    博客分类:
  • java
阅读更多

ArrayList能用Collections.sort()进行排序,但CopyOnWriteArrayList不能用Collections.sort()进行排序

原因:

CopyOnWriteArrayList没有set(),

而ArrayList则支持set方法

public E set(int index,E element)

 

如果需要使用Collections.sort(),要么用线程不安全的ArrayList,要么如以下网址所示自己处理

 

 

Sorting a CopyOnWriteArrayList

http://www.javacreed.com/sorting-a-copyonwritearraylist/

 

Sorting a CopyOnWriteArrayList

http://stackoverflow.com/questions/25390782/sorting-a-copyonwritearraylist

I cannot use Collections.sort() for CopyOnWriteArrayList as it doesn't support the set() operation.

分享到:
评论

相关推荐

    9、并发容器(Map、List、Set)实战及其原理.pdf

    - **需要排序功能的场景**:例如,在统计分析系统中,需要根据某些条件对数据进行排序处理,使用`ConcurrentSkipListMap`可以在保证线程安全的同时满足排序需求。 ### 总结 本文介绍了几种常见的并发容器:`...

    Java数据结构和算法..

    此外,`java.util.concurrent`包中的类如ConcurrentHashMap和CopyOnWriteArrayList则针对多线程环境进行了优化,保证了并发安全。 学习和实践Java数据结构和算法不仅可以提升编程能力,也有助于在面试和工作中解决...

    Java-Java集合教程

    - `TreeSet`:基于红黑树实现,保持元素排序,支持快速的排序和查找。 - `HashMap`:存储键值对的哈希表,快速查找、添加和删除元素。 - `TreeMap`:基于红黑树实现的键值对存储,保持键的排序。 3. **泛型**:...

    List效率的比较

    结论:  1.随机插入、随机删除操作中,用TreeList 效率...在排序中,ArrayList 具有最好的性能,TreeList 平均性能也不错,LinkedList 的排序效率受元素初始状态的影响很大。  8.各种List 间转换几乎没有时间损耗。

    关于 Java Collections API 您不知道的 5 件事,第 2 部分

    Collections API 提供了一些线程安全的集合实现,如`ConcurrentHashMap`, `CopyOnWriteArrayList`, 和 `ConcurrentSkipListMap`。这些类在多线程环境中能保证并发访问的安全,但要注意它们的设计目标和性能特性,...

    Java--collection.rar_SEP_java 集合

    Java集合框架是Java编程语言...例如,根据业务需求选择适合的集合类型,使用CopyOnWriteArrayList进行并发操作,或者使用ConcurrentHashMap实现线程安全的映射。Java集合框架的深入学习对于提升Java编程技能至关重要。

    Java编程语言中的数据结构与算法:深入理解与实践指南.zip

    - 并发处理:在多线程环境中,使用线程安全的数据结构,如ConcurrentHashMap和CopyOnWriteArrayList。 - 大数据处理:使用流式处理(Stream API)和并行计算,提升大数据操作的效率。 5. 进阶话题: - 图形算法...

    并发编程面试题以及答案.docx

    * 数据结构的线程安全:使用线程安全的数据结构,如 ConcurrentHashMap、CopyOnWriteArrayList 等。 * 避免死锁:概念、原因、解决方法等。 * Volatile 关键字的作用:概念、应用场景和实现。 * HashMap 在多线程...

    集合效率不完全皮恩车

    6. **TreeSet**:基于红黑树实现,保证排序,插入性能为N1723688203,适合需要排序的场景。 最后,Map接口的实现: 由于没有提供具体测试数据,无法直接评估如HashMap、TreeMap、LinkedHashMap等的性能,但通常...

    数据结构与算法分析(Java版)

    - **并发编程**:线程安全的数据结构,如ConcurrentHashMap、CopyOnWriteArrayList等。 - **泛型**:在数据结构中的应用,增强类型安全性。 - **接口与类**:如何通过接口实现抽象的数据结构,如List、Set、Map...

    Java_算法和数据结构的集合.zip

    此外,Java并发包中的ConcurrentLinkedQueue、CopyOnWriteArrayList等类,它们的实现都基于高级的算法设计。 深入理解这些概念不仅可以提升编程技能,还有助于通过技术面试,因为许多公司会在面试过程中考察候选人...

    Java_Collection_List-Set-Map.zip_list set map

    - 如果需要线程安全,可以使用CopyOnWriteArrayList,ConcurrentSkipListSet和ConcurrentHashMap等并发集合类。 7. **容量与扩容**: - List和Set在添加元素时,如果达到当前容量,会自动扩容。ArrayList的默认...

    Java基础----集合类汇总

    此外,Set和List接口都有一个叫做CopyOnWriteArrayList和CopyOnWriteArraySet的特殊实现,这些类适用于多线程环境,保证在并发修改时的线程安全,但会牺牲一定的性能。 源码阅读对于理解Java集合类的内部工作原理至...

    java集合,java集合

    9. **CopyOnWriteArrayList和CopyOnWriteArraySet**:这两个类适用于多线程环境,它们在修改集合时会创建副本,避免了并发修改异常(ConcurrentModificationException),但牺牲了性能。 10. **Collections工具类**...

    java基础之集合面试题共4页.pdf.zip

    9. **CopyOnWriteArrayList和CopyOnWriteArraySet**:在读多写少的场景下,这两个类提供了线程安全的解决方案,读操作不会阻塞,写操作会复制原集合创建新集合,适用于并发编程。 10. **List与Set的区别**:List有...

    Java 集合框架介绍.ppt

    - 针对多线程环境,Java集合框架提供了线程安全的实现,如`ConcurrentHashMap`、`CopyOnWriteArrayList`等,它们在并发环境下提供了更高的性能。 7. **扩展和高级特性**: - `LinkedHashSet`和`...

    第8讲 对比Vector、ArrayList、LinkedList有何区别1

    同时,关注集合框架的并发支持,如ConcurrentHashMap和CopyOnWriteArrayList等,它们在多线程环境下的性能优化至关重要。 最后,了解集合框架的发展历程,比如从Java 1.0到现在的改进,可以帮助你更好地理解设计...

    2014-2016java面试题目

    排序算法(冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序)和查找算法(顺序查找、二分查找)是面试中的常见考点。 3. **多线程**:Java提供了内置的多线程支持,面试中可能涉及到线程的创建(Thread...

    集合类实惠有好用的,资源

    6. **CopyOnWriteArrayList与CopyOnWriteArraySet**:这些类在并发环境下非常有用。它们在内部复制底层数据结构以保证线程安全,适合读多写少的情况。 7. **Collections工具类**:提供了一系列静态方法,用于操作...

Global site tag (gtag.js) - Google Analytics