Collections -- 集合的工具类

Collections是JDK针对集合提供的一个工具类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

1、搜索

如可以使用Collections提供的二分查找方法binarySearch()

2、排序

如可以使用Collections.sort()List进行了排序

3、线程安全化

使用Collections.synchronizedXxx();方法可以将集合对象线程安全化,其实现原理是代理。

  static <T> List<T> synchronizedList(List<T> list, Object mutex) {
return (list instanceof RandomAccess ?
new SynchronizedRandomAccessList<T>(list, mutex) :
new SynchronizedList<T>(list, mutex));
}

final Object mutex;     // Object on which to synchronize

public void add(int index, E element) {
synchronized(mutex) {list.add(index, element);}
}

如果需要使用线程安全化的集合,考虑到效率问题不建议使用Collections工具类线程安全化非线程安全的集合,而是使用Concurrent
Framework中实现的线程安全集合实现,如ConcurrentHashMap,CopyOnWriteArrayList等等。

时间: 2024-08-27 04:45:53

Collections -- 集合的工具类的相关文章

集合框架工具类Collections

* Collections演示. * 1,用于操作集合的工具类. * 2,提供了很多的静态方法. * * 比如对list集合排序,二分查找,位置置换. * 对排序的元素进行顺序的逆转.reverseOrder * 还可以获取集合的最大值和最小值. * 最牛叉的是将非同步的集合转成同步的集合 synchronizedXXX package cn.itcast.p4.collections;   import java.util.ArrayList; import java.util.Collect

集合的工具类Collections

Collections 是集合的工具类, 里面定义了很多静态方法 binarySearch(List,Object) 使用二分法查找集合中的元素,如果找到就返回该元素在集合中的下标,如果没有找到就返回负数 copy(List,List) 将一个集合中的所有元素复制到另一个集合. disjoint(Collection,Collection) 两个集合中如果没有相同的元素返回true min,max(Collection) 找出集合中最小与最大的元素,规则由实现Comparable接口中的comp

跟王老师学集合(十):操作集合的工具类:Collections

操作集合的工具类:Collections 主讲人:王少华  QQ群号:483773664 Java提供了一个操作Set.List和Map等集合的工具类:Collections,该工具提供了大量方法对集合元素进行排序.查询和修改等操作,还提供了将集合元素实现同步控制等方法. 一.排序操作 (一).方法 Collections提供了如下几个方法用于对List集合元素进行排序 static void reverse(List list):反转指定List集合中元素的顺序 static void shu

Collections工具类:操作集合的工具类

Collections工具类:操作集合的工具类 Java提供了一个操作Set List Map等集合的工具类:Collections,该工具类提供了大量方法对集合元素进行排序.查询和修改等操作.还提供了将集合对象设置为不可变,对集合对象实现同步控制等方法. 排序操作 ArrayList arrayList = new ArrayList(); arrayList.add(2); arrayList.add(-1); arrayList.add(4); arrayList.add(6); Syst

JAVA 16(集合框架工具类)

Collections :工具类,专门对集合进行操作的.所有方法都是静态的,构造方法是私有的,不可以创建对象,通过Collections.xxx();调用工具类中的方法. 1, Collections.sort(); //对集合进行排序,List可以,Set不可以,因为有自动排序的TreeSet,其实是调用对象的Compare方法,如果想要排序自定义对象, sort后面要传入比较器. Collections.sort(list,new Strlen()); 下面有举例说明 2, Collecti

JAVA学习第四十四课 — 集合框架工具类(二)

Collections操控集合的工具类,Arrays操控数组的工具类 Arrays中方法大多是重载 重点掌握asList();将数组转为集合 static <T> List<T> asList(T... a) 返回一个受指定数组支持的固定大小的列表. import java.util.Arrays; import java.util.List; public class Main { public static void main(String[] args) { String[]

黑马程序员——黑马基础——Map,集合框架工具类Conlections和Arrays

黑马程序员--黑马基础--Map,集合框架工具类Conlections和Arrays ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一,Map集合 Map<K,V>集合是一个接口,和List集合及Set集合不同的是,它是双列集合,并且可以给对象加上名字,即键(Key). 特点: 1)该集合存储键值对,一对一对往里存 2)要保证键的唯一性. Map集合的子类 Map |--Hashtable:底层是哈希表数据结构,不可以存入null键nu

集合的工具类

一.集合的工具类集合的工具类有:Arrays 和Collection 二.集合的工具类使用1.Arrays用法例子:利用Arrays.asList()可以将数组转换为集合 String[] str={"A","B","C","A","B"}; for(String s : str){ System.out.println(s); } List list=Arrays.asList(str); //将数组转换

java集合框架--工具类Collections

1.Collections概述 是针对集合操作的工具类. 2.Collection和Collections的区别? Collection:是单列集合的顶层接口,而Collections是针对集合操作的工具类. Collection有子接口List和Set,而Collections有对集合进行排序和二分查找的方法. 3.Collections工具类的功能 public static <T> void sort(List<T> list):默认情况下是对集合的自然排序. public