当前位置:   article > 正文

操作集合的工具类:Collections(以及将线程变安全的synchronized方法)

操作集合的工具类:Collections(以及将线程变安全的synchronized方法)

   静态成员方法:
        public static <T> void sort(List<T> list) 升序
        public static <T> int binarySearch(List<?> list,T key) 二分查找
        public static <T> T max(Collection<?> coll)找最大值
        public static void reverse(List<?> list)反转
        public static void shuffle(List<?> list)随机排序

相关用法如下:

  1. public class CollectionsDemo {
  2. public static void main(String[] args) {
  3. ArrayList<String> list1 = new ArrayList<>();
  4. list1.add("hello");
  5. list1.add("world");
  6. list1.add("hadoop");
  7. list1.add("apple");
  8. System.out.println("list1: "+list1);
  9. System.out.println("--------------------------");
  10. Collections.sort(list1); //对List集合进行升序排序
  11. System.out.println("list1: "+list1);
  12. //list1: [apple, hadoop, hello, world]
  13. //public static <T> int binarySearch(List<?> list,T key) 在针对List集合中二分查找某个元素,返回该元素的下标索引
  14. System.out.println(Collections.binarySearch(list1,"hello"));
  15. //public static <T> T max(Collection<?> coll)
  16. System.out.println(Collections.max(list1));
  17. //public static void reverse(List<?> list) 将集合元素反转
  18. Collections.reverse(list1);
  19. System.out.println("list1: "+list1);
  20. //public static void shuffle(List<?> list) 将List集合元素进行随机打乱,每次运行结果都不一样
  21. Collections.shuffle(list1);
  22. System.out.println("list1: "+list1);
  23. //即便Vector是线程安全的,我们今后也不用
  24. //原因是我们可以通过Collections工具类对ArrayList或其他不安全的集合做操作,变成安全的。
  25. List<String> list2 = Collections.synchronizedList(list1);
  26. //后续用list2,跟不安全的用法一毛一样,没有任何区别,只是后续这个List集合是安全的了。
  27. }
  28. }

2、可以将不安全的集合变成安全的

  1. static <T> Collection<T> synchronizedCollection(Collection<T> c)
  2. 返回由指定集合支持的同步(线程安全)集合。
  3. static <T> List<T> synchronizedList(List<T> list)
  4. 返回由指定列表支持的同步(线程安全)列表。
  5. static <K,V> Map<K,V> synchronizedMap(Map<K,V> m)
  6. 返回由指定地图支持的同步(线程安全)映射。
  7. static <T> Set<T> synchronizedSet(Set<T> s)
  8. 返回由指定集合支持的同步(线程安全)集。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/1002997
推荐阅读
相关标签
  

闽ICP备14008679号